我有一个需要允许HTML的字段。这是100%有效,没关系。当我从我的应用程序回发时,我收到以下消息:
A potentially dangerous Request.Form value was detected from the client (PowerSource.Text[0]="<p>A control im...").
要停止验证,我按以下方式添加到我的课程中:
public class PowerSource
{
[System.Web.Mvc.AllowHtml]
public string[] Text { get; set; }
}
}
问题是它似乎不起作用。我已经为其他领域做过这个,我相信它可行。但不适合上面的领域。
有没有人有任何建议?我是否需要将此字段标记为数据成员或类似内容?
请注意我使用的是MVC3,我理解这个版本的验证有点不同。
答案 0 :(得分:0)
使用[AllowHtml]
属性修饰的属性是一个数组(string[]
)。它应该是一个简单的字符串属性:
[AllowHtml]
public string Text { get; set; }
然后在视图中你可以有一个相应的输入字段,允许用户输入任何内容:
@Html.TextAreaFor(x => x.Text)
最后当你提交以下行动时,不应该有例外:
[HttpPost]
public ActionResult Index(PowerSource model)
{
...
}
答案 1 :(得分:-1)
您必须在控制器中添加[ValidateInput(false)],不知道您是否可以在模型上执行此操作,但它在控制器中适用于我。
[HttpPost]
[ValidateInput(false)]
public ViewResult Edit(Object obj)
{
}