繁体   English   中英

如何将页面从视图重定向到 ASP.NET MVC 3 中的 Controller?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM