U9研发体系(UIACTION使用手册)

更新时间:2023-05-11 05:16:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

U9 研发体系(UIAction 使用手册)适用版本: U9 V1.5 UBF2.0 修改状态: 编写人: 审核人: 熊悦阅 刘小东

此部分要记录该文档形成过程中的历次版本变更过程及变更的内容 版本 修改与 参与人 熊悦阅 修改时间 修改原因 修改内容 审批人1.02008-7-8原始文档建立刘小东

1.概述UFIDA UIAction 是表示层 MVC 框架中 Controller 一部分,它与 CodeBehind 构成完整 的 UIController,CodeBehind 完成 Web 响应的流转控制,UIAction 完成一个独立的行为, 如保存、加载、翻页等等。2.构架原理2.1 UIAction 在表示层构架中的位置和作用2.2 UIAction 的主要内容

2.3 公共 UIAction截止 U9 UBF2.6,U9 一共提供了 2 套公共 UIAction,分别是 CommonAction 和 NavigationAction。3. 使用指南3.1 CommonAction 部分CommonAction 部分主要完成对 UIModel 数据的加载和更新操作,其中主要方法有 Load, LoadChildView,Save 等方法。

3.1.1 Load 方法Load 方法完成加载数据到 IUIModel 的过程,包含以下多种声明:声明 IUIModel Load() IUIModel Load(IUIModel) IUIModel Load(IUIModel,bool) 说明 加载当前 IUIModel 加载指定的 IUIModel 加载指定的 IUIModel 第二个参数控制是否清空 IUIModel 的数据 IUIModel Load(IUIView,bool) IUIModel Load(params IUIView[]) IUIModel Load(params IUIViewBindingControl[]) 加载一个视图,是否根据父视图进行过滤 加载指定的多个视图 加载指定的多个 UI 绑定控件对应的视图3.1.2LoadChildView 方法LoadChildView 方法加载指定视图的下级视图数据:声明 Void LoadChildView(IUIView) 说明 加载的数据存放在视图的 ContainerModel 中3.1.3Save 方法Save 方法将 IUIModel 的变化更新到后台持久层 声明 IUIModel Save() IUIModel Save(IUIModel) 保存后会回刷 IUIModel 的数据到前台。 说明 加载的数据存放在视图的 ContainerModel 中3.2 NavigationAction 部分声明 void FirstPage(IUIViewBindingControl) void LastPage(IUIViewBindingControl) void NextPage(IUIViewBindingControl) 说明 加载的数据存放在视图的 ContainerModel 中 加载最后一页的数据 加载下一页的数据

void PrevPage(IUIViewBindingControl) void MovePageByIndex(IUIViewBindingControl,long) void MovePageAt(IUIViewBindingControl,long)加载上一页的数据 移动到指定的页数 根据 ID,移动到 ID 所在的页,并强制刷新数 据void Refresh(IUIViewBindingControl)强制刷新当前数据3.3 Cache 管理IUIModel 的数据加载都会先进入 Cache,再从 Cache 中抓取显示的数据3.4 应用场景3.4.1 页面导航将当前卡片翻到下一页, 上一页, 第一页, 最后一页或指定的页号, 都需要使用 UIAction 为完成,示例如下: 例1:简单的方法//移到下一页 Action.NavigateAction.NextPage(null);通过 NextPage 方法将数据移动到下一页面。

例 2:更灵活的方法 IUIView cView = container.UIView; long index = CommonActionHelper.Instance.GetCurrentRecordIndex(cView) + container.PageSize; MovePageByIndex(container, index); 首先计算出下一页的位置, 再通过 MovePageByIndex 方法移动到下一页, 通过这个方法, 您可以任意移动当前数据的位置。3.4.2 保存当前数据到数据库在 UIAction 中,除了可以操作 UIModel 中的数据,也可以将数据提交到数据库进行保 存。 例3:使用 CommonCRUD 保存数据//将强类型的UIModel转换成弱类型的UIModel IUIModel changeModel = GetOptiomizeChangesUIModel(model);//设置需要保存的视图状态 foreach (IUIView view in changeModel.Views) { if (view.Records.Count > 0) { view.ViewDealFlag = CommonDealFlag.Save; } } try { //调用CommonCRUD进行数据保存并得到返回值 IUIModel returnModel = CommonActionHelper.Instance.UpdateUIModel(changeModel); //将返回值刷新到当前UIModel CopyResultModelToModel(returnModel, model); } catch (Exception e) { //处理错误消息

if (ExceptionHelper.IsUnknownException(e, true)) { throw; } model.ErrorMessage.SetErrorMessage(ref model, e.Message); return model; }在 UIAction 中使用 CommonCRUD 进行数据保存非常简单。3.5 公共 API

本文来源:https://www.bwwdw.com/article/icbe.html

Top