zoukankan      html  css  js  c++  java
  • asp.net mvc 提交model 接收不了

      [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)
            {

         }

  • 相关阅读:
    HTML5 localStorage and sessionStorage
    WebViewJavascriptBridge-Obj-C和JavaScript互通消息的桥梁
    js控制手机号码中间用星号代替
    无法删除登录名 '***',因为该用户当前正处于登录状态。 (Microsoft SQL Server,错误: 15434)
    在QT中添加LIB的方法
    Android颜色代码
    判断ubuntu是32位还是64位
    Android应用市场App发布
    ubuntu目录结构(转)
    QT调用CHM方法
  • 原文地址:https://www.cnblogs.com/zhian/p/5693451.html
Copyright © 2011-2022 走看看