首页 新闻 会员 周边

如何实现UpdataModel功能~

0
悬赏园豆:200 [已关闭问题] 关闭于 2010-06-03 19:34

请问博客园的高手们!怎么实现MVC中的UpdataModel功能,在WEBFROM中!

这是我一前的做法:

        //自动获取Form中的值 from Name
        public static T GetPost<T>(this NameValueCollection form)
        {
            Type type = typeof(T);
            T objResult = Activator.CreateInstance<T>();
            PropertyInfo[] pi = type.GetProperties();

            pi.ToList().ForEach(O =>
            {
                if (form[O.Name] != null)
                {
                    try
                    {
                        var isNullable = O.PropertyType.ToString().Contains("System.Nullable");
                        if (isNullable)
                        {
                            if (O.PropertyType.FullName.Contains("System.Int32"))
                            {
                                O.SetValue(objResult, int.Parse(form[O.Name]), null);
                            }

                            if (O.PropertyType.FullName.Contains("System.DateTime"))
                            {
                                O.SetValue(objResult, DateTime.Parse(form[O.Name]), null);
                            }
                        }

                        O.SetValue(objResult, Convert.ChangeType(form[O.Name], O.PropertyType), null);
                    }
                    catch
                    {
                    }
                }

            });
            return objResult;
        }

总是觉得不太好!而且还有BUG,请问博客园的诸位高手你们是怎么做的?

*小眼睛*的主页 *小眼睛* | 初学一级 | 园豆:0
提问于:2010-06-02 11:23
< >
分享
所有回答(3)
0

直接把MVC的抄过来就行了呗?

Gray Zhang | 园豆:17610 (专家六级) | 2010-06-02 13:42
抄袭?谈何容易?老赵有一偏文章是说把UPDATAMODEL移植到WEBFROM中,结果是一大堆的代码才实现,很是不爽。
支持(0) 反对(0) *小眼睛* | 园豆:0 (初学一级) | 2010-06-02 17:41
0

ASP.NET MVC是开源的。

自己没有做过。

Astar | 园豆:40805 (高人七级) | 2010-06-02 14:32
0

可以使用反射的方法。不过与页面上html或者.net的控件的名字需要相同,耦合性相当的大了。

loolda | 园豆:8 (初学一级) | 2010-06-02 15:08
我的这种做发就是反射,只是本人学为到家,写的代码烂,而且有BUG,想问诸位博客园的高手指教!
支持(0) 反对(0) *小眼睛* | 园豆:0 (初学一级) | 2010-06-02 17:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册