码迷,mamicode.com
首页 > Web开发 > 详细

asp.net mvc 提交model 接收不了

时间:2016-07-21 23:50:52      阅读:631      评论:0      收藏:0      [点我收藏+]

标签:

  [HttpPost]
        //[ValidateInput(false)]
        public ActionResult AddNews1(_54Young_News_Model.model.gou54contentall contentmodel, _54Young_News_Model.model.gou54user usermodel)
        {}

发现用一些特殊符号提交不了, 然后以为说前端问题,把model去掉就可以了。 后面觉得是因为有特殊符号影响到转model。

写了一个request转model,但还是报错。

 /// <summary>
        /// 请求的request的内容转换为model
        /// cza
        /// 2016-5-30 19:06:21
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public static T ConvertToModel()
        {
            HttpContext context=System.Web.HttpContext.Current;
            T t = new T();
            PropertyInfo[] propertys = t.GetType().GetProperties();
            foreach (PropertyInfo pi in propertys)
            {
                if (!pi.CanWrite)
                    continue;
                try
                {
                    object value = context.Request[pi.Name];
                    if (value != null && value != DBNull.Value)
                    {

                        if (value.ToString() != "")
                            pi.SetValue(t, Convert.ChangeType(value, pi.PropertyType), null);//这一步很重要,用于类型转换
                        else
                            pi.SetValue(t, value, null);

                    }
                }
                catch
                { }
            }

            return t;
        }

 

在网上查资料看到可以在web.config添加,但是觉得全局的太危险了。

<system.web> 
<pages validaterequest="false"/> 
</system.web> 

后看到那个可以在方法前面添加这个免验证的方法

 [HttpPost]
        [ValidateInput(false)]
        public ActionResult AddNews1(_54Young_News_Model.model.gou54contentall contentmodel, _54Young_News_Model.model.gou54user usermodel)
        {

     }

 

asp.net mvc 提交model 接收不了

标签:

原文地址:http://www.cnblogs.com/zhian/p/5693451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!