NClay框架MVC入门编-对象属性绑定

      在制定逻辑接口成员时很多时候都需要定义一些对象类型的属性,在框架中对象类型的属性数据绑定需要做额外的工作,但也是非常简单的只需要在属性中标记一个Attribute就可以了;下面通过一个简单的用户注册需求来描述该场景实现。

用户注册需求的逻辑处理代码

    public interface IRegister

    {

        User Info

        {

            get;

            set;

        }

    }

    public class User

    {

        public string UserName

        {

            get;

            set;

        }

        public string PassWord

        {

            get;

            set;

        }

        public string CPassWord

        {

            get;

            set;

        }

        public string Sex

        {

            get;

            set;

        }

        public DateTime BirthDate

        {

            get;

            set;

        }

        public string EMail

        {

            get;

            set;

        }

    }

    [NClay.MVC.Controller]

    public class LogicHandler

    {

        public void Register(IRegister logic)

        {

            //用户注册处理代码

        }

    }

页面处理代码

    [NClay.MVC.Tag("~/PropertyBind_class.aspx")]

    [NClay.MVC.Post(typeof(IRegister))]

    public class PropertyBindView : IRegister

    {

        #region IRegister 成员

        [NClay.MVC.Bind("user")]

        public User Info

        { get; set; }

 

        #endregion

    }

代码中的NClay.MVC.BindAtrribute用于描述对属性进行绑定初始化。

<%@ Page Language="C#" AutoEventWireup="true" Inherits="NClay.Web.FormContext" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>入门编-对象属性绑定</title>

</head>

<body>

<%

    MVC_PropertyBind.IRegister register = (MVC_PropertyBind.IRegister)this.View;

 

 %>

    <form id="form1" method="post" action="PropertyBind_class.aspx" >

    <div>

   

        <table >

            <tr>

                <td class="style2">

                    用户名</td>

                <td>

                    <input id="Text1" name="user.UserName" value="<%=register.Info.UserName%>" type="text" /></td>

            </tr>

            <tr>

                <td class="style2">

                    密码</td>

                <td>

                    <input id="Text2" name="user.PassWord" type="password" /></td>

            </tr>

            <tr>

                <td class="style2">

                    确定密码</td>

                <td>

                    <input id="Text3" name="user.CPassWord" type="password" /></td>

            </tr>

            <tr>

                <td class="style2">

                    性别</td>

                <td>

                    <input id="Text4" type="text" value="<%=register.Info.Sex %>" name="user.Sex" /></td>

            </tr>

            <tr>

                <td class="style2">

                    出生日期</td>

                <td>

                    <input id="Text5" name="user.BirthDate" value="<%=(register.Info.BirthDate== DateTime.MinValue?"":register.Info.BirthDate.ToShortDateString()) %>" type="text" /></td>

            </tr>

            <tr>

                <td class="style2">

                    EMail</td>

                <td>

                    <input id="Text6" name="user.EMail" type="text" value="<%=register.Info.EMail %>" /></td>

            </tr>

            <tr>

                <td class="style2">

                    &nbsp;</td>

                <td>

                    <input id="Submit1" type="submit" value="submit" /></td>

            </tr>

        </table>

     <table >

            <tr>

                <td class="style2">

                    &nbsp;</td>

                <td>

                    提交数据</td>

            </tr>

            <tr>

                <td class="style2">

                    用户名</td>

                <td>

                    <%=register.Info.UserName %></td>

            </tr>

            <tr>

                <td class="style2">

                    密码</td>

                <td><%=register.Info.PassWord %>

                    </td>

            </tr>

            <tr>

                <td class="style2">

                    确定密码</td>

                <td><%= register.Info.CPassWord %>

                    </td>

            </tr>

            <tr>

                <td class="style2">

                    性别</td>

                <td><%=register.Info.Sex %>

                    </td>

            </tr>

            <tr>

                <td class="style2">

                    出生日期</td>

                <td><%=(register.Info.BirthDate== DateTime.MinValue?"":register.Info.BirthDate.ToShortDateString()) %>

                   </td>

            </tr>

            <tr>

                <td class="style2">

                    EMail</td>

                <td><%=register.Info.EMail %>

                    </td>

            </tr>

           

        </table>

    </div>

    </form>

</body>

</html>

 

演示地址

下载例程

posted on 2007-11-10 10:17  henry  阅读(480)  评论(0编辑  收藏  举报

导航