【发布时间】:2010-11-18 22:48:23
【问题描述】:
我有一个控制器,其方法指向一个视图。如何更改操作映射到的视图?就像我希望它调用 ViewB 而不是 ViewA?这些映射在哪里存在,我该如何修改它们?感谢您的任何提示。
谢谢,
~ck 在圣地亚哥
【问题讨论】:
标签: c# asp.net-mvc model-view-controller asp.net-mvc-2
我有一个控制器,其方法指向一个视图。如何更改操作映射到的视图?就像我希望它调用 ViewB 而不是 ViewA?这些映射在哪里存在,我该如何修改它们?感谢您的任何提示。
谢谢,
~ck 在圣地亚哥
【问题讨论】:
标签: c# asp.net-mvc model-view-controller asp.net-mvc-2
代替:
return View(someModel);
使用
return View("ViewYouWant", someModel);
【讨论】:
要将控制器方法重定向到名称与操作方法不同的视图,您可以更改语句 from
return View();
到
return View("ViewB");
【讨论】:
您也可以返回 RedirectToAction("View"),或使用 Javascript
json(new { Redirect = url.Action(action, data) }, JsonRequestBehavior.AllowGet);
并在客户端适当地处理返回。
狩猎愉快!
【讨论】:
您可以将视图名称传递给View 方法:http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.view.aspx
【讨论】:
你可以做默认:
return View(myModel);
或者在同一个控制器视图文件夹下或共享中指定视图名称:
return View("ThatView", myModel);
或任何视图:
return View("~/myfolder/WhatEverView.ascx", myModel);
【讨论】: