MVC-3 ASP.NET 共享视图-重定向-Razor
Posted
技术标签:
【中文标题】MVC-3 ASP.NET 共享视图-重定向-Razor【英文标题】:MVC-3 ASP.NET Shared Views-Redirect-Razor 【发布时间】:2011-05-31 09:28:56 【问题描述】:我在“视图/共享”文件夹中有一个名为 NotAuthorised 的共享视图。当用户无权查看该页面时,我想将用户重定向到此视图。
最初,此视图位于名为 Account 的文件夹中。但我将其移至共享文件夹,因为我不再使用该帐户。我已删除 Account 文件夹。
我使用以下代码进行重定向:
public ActionResult NotAuthorised()
return RedirectToAction("NotAuthorised", "Account");
现在我删除了 Account 文件夹,我正在尝试使用
public ActionResult NotAuthorised()
return RedirectToAction("NotAuthorised", "Shared");
在最后一行给出共享的文件夹名称是完全错误的。
谁能告诉我,我做错了什么?
谢谢
【问题讨论】:
【参考方案1】:您不能重定向到 View
,只能重定向到 Action
或 Controller
。你必须为你的重定向指定一个控制器动作,你可以在那里呈现你的共享视图。
public class AuthorizeController : Controller
public ActionResult NotAuthorised()
return View("NotAuthorised");
然后从任何其他操作方法中重定向到这个新操作:
return RedirectToAction("NotAuthorised", "Authorize");
但您可能不需要这个额外的Controller
。你可以简单地渲染共享的View
public ActionResult NotAuthorised()
return View("NotAuthorised");
【讨论】:
非常感谢。期待您的回答。 这两个我都用过。 return View("~/Views/Shared/NotAuthorised.cshtml");并返回 View("NotAuthorised"),它们都可以工作。以上是关于MVC-3 ASP.NET 共享视图-重定向-Razor的主要内容,如果未能解决你的问题,请参考以下文章
ASP.Net MVC 3 将未经授权的用户重定向到 loginUrl