首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASP.NET MVC 3中将页面从视图重定向到控制器?

如何在ASP.NET MVC 3中将页面从视图重定向到控制器?
EN

Stack Overflow用户
提问于 2011-06-10 18:10:32
回答 2查看 10.7K关注 0票数 1

我在Razor中使用mvc3,并且我有一个条件,当它是真的时候,应该自动地将它重定向到另一个页面,发送一个对象作为参数。我想做的是:

@if (cond > 10) {

Url.Action(“编辑”,积);//自动重定向到操作编辑,将对象作为参数}发送

有人知道是否存在一个为我这样做的Html.Helper?我的意思是重定向到这样的页面: someHtmlHelper("myAction“、"myController”、myObject)。

我试着用JavaScript来做这件事,我发现url参数中有一些问题。Url.Action返回符号代码,而不是特殊字符的字符。比如"&“而不是"&”。

@if (cond > 10) { var url =Url.Action(“编辑”,积);

var Url = '@url';location.href = Url;<}

结果是:http://localhost:4772/Product/Edit?ProductId=2234&Code=0020582&Name.

如果MVC3没有一个页面重定向实现,我将受到伤害。

所以我需要帮助。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-06-10 20:55:26

视图不是那种逻辑的适当位置。

根据您的解决方案,您应该:

( A)在返回视图之前,检查师控制器的状态,然后重定向,如下所示:

代码语言:javascript
复制
if (cond >= 10) 
    return RedirectToAction("ADifferentResult");

( B)对有条件的RenderAction使用部分视图,如:

代码语言:javascript
复制
@{
    if (cond > 10) 
        Html.RenderAction("ADifferentResult");
    else
        Html.RenderAction("DefaultResult");
}
票数 3
EN

Stack Overflow用户

发布于 2012-01-10 09:12:20

代码语言:javascript
复制
@if (cond > 10){@Html.ActionLink("Edit", "Product", new { ProductId = 2234, Code = 0020582 })}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6310398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档