Vij*_*y V 5 iframe form-post razor asp.net-mvc-4
我的视图中有一个i-Frame链接到外部网站.此站点接受一些值和一些配置设置.这些配置设置的一部分是"CallBackURL".此外部网站发布到此CallBackUrl.
我将CallBackURL指定为对我的控件的操作.
查看代码
<form id="testForm" method="post" target="testFrame">
<input type="hidden" name="RequestXML" ID="RequestXML" value="<Request><RedirectURL>Account/TokenRequest</RedirectURL></Request>"
</form>
<iframe id="testFrame" name="testFrame" frameborder="0" style="width:1000px;height:500px"></iframe>
Run Code Online (Sandbox Code Playgroud)
控制器代码
[HttpPost]
[ValidateInput(false)]
public ActionResult TokenRequest()
{
if (Request.Form["ResponseXML"] != null)
ViewBag.ResponseXML = Request.Form["ResponseXML"];
return PartialView();
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器操作中,我收到以下错误:"从客户端检测到一个潜在危险的request.form值"
我也在webconfig中设置了它
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false"...
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
编辑 我正在编辑错误的web.config文件.我将它添加到views文件夹中的web.config.一旦我把它改成了正确的地方,它就开始工作了.
Joo*_*pel 19
上面的解决方案在MVC4中对我不起作用.对我有用的只是将一个属性放在动作之上.无需更改web.config或添加AllowHtml属性.
[HttpPost]
[ValidateInput(false)]
public ActionResult TokenRequest(TokenRequestModel model)
{
if (!string.IsNullOrEmpty(model.ResponseXML))
ViewBag.ResponseXML = model.ResponseXML;
// ...
Run Code Online (Sandbox Code Playgroud)
尝试使用模型而不是直接使用 html 控件。并使用AllowHtml 属性。
模型:
public TokenRequestModel
{
[AllowHtml]
public string ResponseXML {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
行动:
[HttpPost]
public ActionResult TokenRequest(TokenRequestModel model)
{
if (!string.IsNullOrEmpty(model.ResponseXML))
ViewBag.ResponseXML = model.ResponseXML;
return PartialView();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14773 次 |
| 最近记录: |