dtc*_*dtc 240 asp.net asp.net-mvc views controllers
是否可以显示另一个控制器的视图?
比方说,我有一个CategoriesController和一个Category/NotFound.aspx视图.在此期间CategoriesController,我可以轻松回归View("NotFound").
现在说我有一个ProductsController动作和视图来添加产品.但是,此操作要求我们有一个类别来添加产品.例如,Products/Add/?catid=10.
如果我无法找到基于类别的类别catid,我想NotFound从类别控制器显示视图,而不是CategoryNotFound在Products控制器下创建视图.
这是可能的还是我以错误的方式构建事物?有没有办法做到这一点?
wom*_*omp 273
是.默认情况下,ASP.NET MVC先检查\Views\[Controller_Dir]\,但之后,如果找不到视图,则会检入\Views\Shared.
共享目录专门用于跨多个控制器共享视图.只需将您的View添加到Shared子目录,就可以了.
如果你这样做return View("~/Views/Wherever/SomeDir/MyView.aspx")你可以返回任何你想要的视图.
Gui*_*e86 161
您可以使用:
return View("../Category/NotFound", model);
Run Code Online (Sandbox Code Playgroud)
它在ASP.NET MVC 3中进行了测试,但也应该在ASP.NET MVC 2中运行.
don*_*ona 49
是的可能.返回这样的RedirectToAction()方法:
return RedirectToAction("ActionOrViewName", "ControllerName");
Run Code Online (Sandbox Code Playgroud)
Pau*_*son 34
你试过RedirectToAction吗?
ign*_*zzo 19
是的你可以.返回一个这样的动作:
return RedirectToAction("View", "Name of Controller");
Run Code Online (Sandbox Code Playgroud)
一个例子:
RedirectToAction("Details/" + id.ToString(), "FullTimeEmployees");
Run Code Online (Sandbox Code Playgroud)
这种方法将调用GET方法
您还可以将值传递给操作,如下所示:
RedirectToAction("Details/" + id.ToString(), "FullTimeEmployees", new {id = id.ToString(), viewtype = "extended" );
Run Code Online (Sandbox Code Playgroud)
您还可以从JavaScript/jQuery调用任何控制器.假设您有一个控制器返回404或其他一些用户控件/页面.然后,在某些操作中,从您的客户端代码中,您可以调用一些地址来激活您的控制器并以HTML格式返回结果,您的客户端代码可以获取此返回的结果并将其放在您想要的页面中...
| 归档时间: |
|
| 查看次数: |
234721 次 |
| 最近记录: |