asp.net-mvc-3 – MVC3 AllowHtml属性的问题
|
我有一个基于MVC3(没有测试版或发行版本的RTM / RTW版本)的Web应用程序,它具有接受 XML文件处理的操作. 当然,这似乎是由于可能的攻击而对MVC而言是邪恶的,所以它不允许它.那么我试着把AllowHtml放在模型对象上呢? public class XMLModel
{
[AllowHtml]
public string msg { get; set; }
}
或者我将ValidateInput设置为false,我的操作方法如下所示: [ValidateInput(false)]
public ActionResult AddCDR(XMLModel model)
{
}
首先有一个“强”类型的模型的原因是我最初尝试使用一个名为“msg”的字符串值作为action方法参数,但总是返回空. 现在,当有人在同一台机器上或从联网的计算机发布到此表单时,msg字段始终为空. 我已经与WireShark验证了数据实际上是在请求中. 现在有一件有趣的事情.这不应该与MVC 3是必要的.但它有微小的差异. 如果我添加到我的网络配置: <httpRuntime requestValidationMode="2.0" /> 它适用于从本地计算机发出的请求,但它不能从另一个系统工作. 我认为AllowHtml版本似乎很优雅 – 如果只是有效. 我也发现了RC2中的一个bug – 再次,这不应该影响我,但是我试图在Application_Start()中添加以下内容: ModelMetadataProviders.Current = new DataAnnotationsModelMetadataProvider(); 正如预期的那样,没有什么不同. 一切都符合我的开发计算机(Win7x64,VS2010)的预期,但目标系统(Win2008R2x64,IIS7.5)上面的问题给我一个困难的时刻. 非常重要的一点要注意:如果我发布到没有尖括号的动作,我会按预期得到表单数据.只要尖括号出现了,我的动作根本就没有被调用,或者没有找到表单数据,也没有在动作方法参数中或者在Request.Params [“msg”]中找到它应该. 任何想法允许XML通过? UPDATE 我已经试图解决这个问题,等待任何人在这里提出答案.我还没有解决,但我已经检查了一些额外的细节; >首先,我验证了我的开发计算机和Web服务器上安装的ASP.NET MVC 3版本是一样的; v3.0.20105.0(根据添加/删除程序). >也没有例外.我已经安装了Elmah,并验证了这一点 – 没有异常发生,我的action方法显然只是调用了像从XML中删除的任何东西从参数到方法. 不用说,这让我很疯狂.昨天我有一些建议来看看MVC3的源代码,但不幸的是,这并没有真正帮助我,因为我看不到任何明显的错误,我无法在有问题的服务器上调试代码. 任何见解仍然非常希望,谢谢! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – Azure Blob 400创建容器时的错
- asp.net-mvc – MVC企业领域 – 好还是坏?
- asp.net – 防止在文本框中键入非ascii字符
- asp.net-mvc – 会话超时处理的会话开始和操作过
- asp.net-web-api – 尝试从asp.net web api自主主
- asp.net – 不明确的引用问题(Microsoft.AspNet.
- asp.net-mvc-3 – 动态加载部分视图
- 为什么在ASP.NET MVC中暂停超时?
- asp.net – 如何在HTML标记中阅读web.config APP
- asp.net – 如何使用自定义CSS与我的Sharepoint
