问题很简单:
假设你有一个叫做Person的模型。
在控制器的创建操作中
如果您运行它,
这将消除“潜在危险”的错误。
但我的问题是,对于我的应用程序,我必须使用Create Action方法中的第二个参数FormCollection collection,因为我需要使用其他控件值和服务器变量来分配计算值给ComplicatedValue属性。
如果任何ASP.NET MVC3的专家遇到了与我相同的问题,并找到了解决方案,请友好地告诉我。
假设你有一个叫做Person的模型。
public class Person
{
public int PersonID {get; set;}
public string Name {get; set;}
[AllowHtml] // Allow html in Intro property
public string Intro {get; set;}
[ScaffoldColumn(false)]
public string ComplicatedValue {get; set;}
}
在控制器的创建操作中
[HttpPost]
public ActionResult Create(Person o, FormCollection collection)
{
// whatever code here;
}
如果您运行它,
- 输入Intro的纯文本,不会出现任何问题。
- 输入Intro的HTML内容,无论如何设置配置文件,都会显示“潜在危险......”
我找到了这个问题的原因。
如果您将函数更改为
public ActionResult Create(Person o) // Get rid of the *FormCollection collection*
{
// whatever code here;
}
这将消除“潜在危险”的错误。
但我的问题是,对于我的应用程序,我必须使用Create Action方法中的第二个参数FormCollection collection,因为我需要使用其他控件值和服务器变量来分配计算值给ComplicatedValue属性。
如果任何ASP.NET MVC3的专家遇到了与我相同的问题,并找到了解决方案,请友好地告诉我。
Request.Unvalidated().Form
中删除额外的()
以只保留Request.Unvalidated.Form
。 - Soturi