[英]How to redirect a page from a View to a Controller in ASP.NET MVC 3?
我将 mvc3 与 Razor 引擎一起使用,并且我有一个条件,即当它为 true 时,应自动重定向到另一个页面,发送 object 作为参数。 我想做的是:
@if (cond > 10) {
Url.Action(“编辑”,产品); //在这一行中自动重定向到动作编辑发送 object 作为参数}
有人知道是否存在为我执行此操作的 Html.Helper? 我的意思是重定向到这样的页面:someHtmlHelper("myAction", "myController", myObject)。
我尝试使用 JavaScript 执行此操作并且几乎可以正常工作,我只是在 url 参数中发现了一些问题。 Url.Action 返回符号代码而不是特殊字符的字符。 像“&”而不是“&”。
@if (cond > 10) { var url = Url.Action("编辑", 产品);
var Url = '@url'; 位置.href = Url;
<}
url 结果为: http://localhost:4772/Product/Edit?ProductId=2234&Code=0020582&Name ...
如果 MVC3 没有实现单页重定向,我会受伤。
所以我需要帮助。 谢谢。
视图不适合这种逻辑。
根据您的解决方案,您应该:
A)在返回视图之前检查您的 Controller 中的条件,然后像这样重定向:
if (cond >= 10)
return RedirectToAction("ADifferentResult");
B)使用局部视图有条件地渲染动作,如:
@{
if (cond > 10)
Html.RenderAction("ADifferentResult");
else
Html.RenderAction("DefaultResult");
}
@if (cond > 10){@Html.ActionLink("Edit", "Product", new { ProductId = 2234, Code = 0020582 })}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.