国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET中實現Form表單字段值自動填充到操作模型中

2024-07-10 12:47:52
字體:
來源:轉載
供稿:網友

我們知道ASP.NET MVC有個強大的地方就是Form表單提交到action的時候,可以直接將Form的參數直接裝配到action的參數實體對象中

比如
代碼如下:
action方法 Register(UserModel userModel)

{

   ............................. 

}

在提交表單的時候,會自動講表單里面的字段封裝到對應的UserModel字段里面

那么 WebForm里面可不可以也紫將呢?

因為每次都要去獲得數據,優秀的程序員應該要學會代碼封裝,代碼復用,重復的工作不要做

我們其實可以利用反射來實例化對象的(自動裝配)

好了廢話不多....

pageload里面很簡單了
代碼如下:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPost())
            {
                InitPage();//第一次訪問呈現頁面
            }
            else
            {
                UserModel userModel = AssembleModel<UserModel>(base.valueCollection);
            }
        }

關鍵就是基類里面的AssembleModel 方法了

基類里面

我們首先獲取到上下文的參數 IT404
代碼如下:
protected NameValueCollection valueCollection = HttpContext.Current.Request.Params;

基類很簡單,就是將上下文的提交的參數存放到valueCollection

然后再看AssembleModel方法了,這是一個泛型方法

代碼如下:
/// <summary>
        /// 反射獲取類的屬性
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        protected PropertyInfo[] GetPropertyInfoArray(Type type)
        {
            PropertyInfo[] props = null;
            try
            {
                object obj = Activator.CreateInstance(type);
                props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 来安县| 隆化县| 新疆| 离岛区| 黑水县| 盖州市| 增城市| 双牌县| 增城市| 土默特左旗| 鄯善县| 富民县| 左权县| 织金县| 金坛市| 旌德县| 鹤峰县| 青铜峡市| 苍南县| 汤阴县| 珠海市| 邳州市| 宁乡县| 肇庆市| 府谷县| 铜梁县| 抚州市| 五家渠市| 海盐县| 洛隆县| 昌吉市| 宁德市| 射洪县| 历史| 增城市| 博罗县| 舟曲县| 兰坪| 哈巴河县| 河北区| 改则县|