Mustang1.0.0.0的QuickStart

使用Mustang1.0.0.0只需要三步:(Mustang的介绍请见:http://www.cnblogs.com/microsheen/archive/2005/08/28/224607.html)

第一步:创建影射文件。

Mustang1.0.0.0映射文件(其Schema见mustang-mapping.xsd )的示例如下:

<?xml version="1.0" encoding="utf-8" ?>
<mustang-mapping xmlns="urn:mustang-mapping" controlgettertype="Mustang.Parse.WebControlGetter, Mustang">
    <object name="LoginUser" type="Mustang.Example.Entity.SysUser, Mustang.Example">
        <property controlid="txtUserID" name="UserID" />
        <property controlid="txtUserName" name="UserName" />
        <property controlid="ddlUserGroupID" name="UserGroupID" controlproperty="SelectedValue" allowerror="true" />
        <property controlid="chkStatus" name="Status" controlproperty="Checked"                                     convertertype="Mustang.Parse.BoolConverter, Mustang"  />
 </object>
</mustang-mapping>

在映射文件中,除根节点外,只有两种元素:object,property。

1.object元素:可以嵌套,即object可以包含object,这表示对象中引用另一个对象的关系,比如:每一个用户对象可以引用一个用户角色对象(见示例3)。

1)name:对象在映射文件中的名字,要求唯一

2)type:表示对象的类型。

3)proxytype:对象代理器。指把使用代理对象的内容来映射到界面控件,该属性对mustang-mapping元素下的object无效(见示例4)

4)mappingmode:界面与对象映射的方式。有三种方式:Both,ObejctToUI,UIToObject,分别代表双向转换、仅仅对象到界面、仅仅界面到对象

2.property元素:

1)controlid:控件ID

2)name:对象的属性名称

3)controlproperty:控件的属性名称,默认为Text

4)allowerror:当在转化过程中是否允许错误。如果允许,则不会抛出异常。主要用于Dropdown list等控件。默认为False。

5)convertertype:执行对象属性和控件属性转化的类,默认值是:Mustang.Parse.PropertyConverter。它和object.proxytype是系统的扩展的关键,你可以根据继承IPropertyConverter或PropertyConverter来实现更加复杂的、或个性的映射

6)mappingmode:同object。

第二步:创建Mustang.UIService,并加载映射文件。

我在页面文件中,建立了两个属性,用来创建UIService。

  #region 对象界面映射

  private IUIService _uiService;
  /// <summary>
  /// 映射控制
  /// </summary>
  protected virtual IUIService UIService
  {
     get
     {
         if (_uiService == null) _uiService = new UIService(this, this.UIMappingFileName);
         return _uiService;
     }
  }

  /// <summary>
  /// 映射文件名称
  /// </summary>
  protected virtual string UIMappingFileName
  {
   get
     {
         return Server.MapPath(this.GetType().BaseType.Name+".uim.xml");
     }
  }
 
  #endregion

第三步:调用UIService的BindObjectToUI和BindUIToObject,分别来绑定对象到界面,绑定界面到对象。

  protected void ToUI()
  {
      this.UIService.BindObjectToUI(this.LoginUser, "LoginUser");
  }

  protected void FromUI()
  {
       this.UIService.BindUIToObject(this.LoginUser, "LoginUser");      
  } 

请开始使用你的Mustang的吧!
  

 

posted on 2005-08-29 20:49  microsheen  阅读(1046)  评论(0编辑  收藏  举报