0

我知道我可以用我的模型返回我的视图,如下所示:

 public ActionResult Finish()
 {
     //do stuff

     var model = new ModelObject();

     //add stuff to model         

     return View("Execute", model);
 }

但是,我无法将内容添加到我的网址。我需要将此参数的视图返回到我的 url 的末尾(它基本上可以帮助我导航到页面上的选项卡):

'?tab=tab-survey'

有没有办法我可以做到这一点?我尝试使用 Redirect 和 RedirectToAction 没有任何运气:

//I get an error when I add this
return RedirectToAction("/Task/ControllerName/Execute/" + id + "?tab=tab-survey", model);
4

2 回答 2

0

做你想做的最简单的方法是使用ViewBag(). 在您的控制器中,您可以引用ViewBag.Tab = "tab-survey";然后在您的视图中您可以将@ViewBag.Tab其用作您的 javascript 中的值项或您需要的任何内容。

您应该能够使用 MVC 的“溢出”功能来构建您的 URL,如下所示:

return RedirectToAction( new {controller="ControllerName", 
                              action="Execute", id=id, tab="tab-survey"});

任何与路由项匹配的变量都将得到适当处理,任何与路由值不匹配的变量都将被附加到 url 的末尾。

于 2013-08-11T22:48:43.340 回答
0

如果您不介意使用 AJAX,可以在成功回调中执行此操作:

$.get("/Controller/Action", function(data) {
    //do something with data
    window.location.href = "/Task/Controller/Execut?tab=tab-survey"

    });
于 2013-08-11T23:36:49.540 回答