0

次のように、モデルを使用してビューを返すことができることを知っています。

 public ActionResult Finish()
 {
     //do stuff

     var model = new ModelObject();

     //add stuff to model         

     return View("Execute", model);
 }

ただし、URL に何かを追加するのに問題があります。このパラメーターを使用してビューを 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 に答える