您的位置:首页 > 编程语言 > ASP

asp.net mvc 提交model 接收不了

2016-07-21 22:50 731 查看
[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)
{

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: