MVC 3是否支持Xml数据?我有一个带有字段的模型类(称之为' MyCustomersXml'),我想将它填入隐藏字段。我遇到的问题是当用户点击提交按钮时出现500错误。如果该字段为空,则不会发生任何事情。
我知道默认情况下ASP.Net会进行某种类型的验证,以防止控件值中的html样式内容,所以我的问题是 MVC 3是否也会分享这种行为?如果是这样,我如何绕过此行为以允许回发中的Xml?
答案 0 :(得分:6)
您可以使用[AllowHtml]
属性装饰此字段:
[AllowHtml]
public string MyCustomersXml { get; set; }
现在,当您尝试在此字段中发布<
和>
等危险字符时,ASP.NET框架将不再抛出异常。
答案 1 :(得分:0)
在MVC 3中使用AllowHtml也会使您暴露于CSRF攻击。要抓住你的网并阻止大多数CSRF攻击,请记住使用AntiForgeryToken。
以下链接包含简短的讨论和示例: http://www.bondigeek.com/blog/2011/09/03/simple-mvc3-ajax-feedback-form-with-antiforgerytoken-to-prevent-most-csrf-attacks/