模型中的MVC 3和Xml属性数据

时间:2012-01-17 23:40:21

标签: asp.net-mvc-3 xml-serialization

MVC 3是否支持Xml数据?我有一个带有字段的模型类(称之为' MyCustomersXml'),我想将它填入隐藏字段。我遇到的问题是当用户点击提交按钮时出现500错误。如果该字段为空,则不会发生任何事情。

我知道默认情况下ASP.Net会进行某种类型的验证,以防止控件值中的html样式内容,所以我的问题是 MVC 3是否也会分享这种行为?如果是这样,我如何绕过此行为以允许回发中的Xml?

2 个答案:

答案 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/