CSharp - C# 如何设置视图引擎在 ASP. NET MVC3中查看视图或者如何在它的他MVC应用程序中呈现视图的位置?

  显示原文与译文双语对照的内容
115 2

例如我有两个类似的简单。

Application1: HomeController> Index 操作,返回 AnotherHome 视图英镑

Application2: AnotherHomeController -> AnotherIndex 操作,它还返回 AnotherHome 视图

Application1索引操作:

public ActionResult Index()
{
 return View("AnotherHome");
}

我需要运行 Application1 并渲染 AnotherHome运行应用程序时,很明显我得到了以下错误:

The view 'AnotherHome' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Home/AnotherHome.aspx
~/Views/Home/AnotherHome.ascx
~/Views/Shared/AnotherHome.aspx
~/Views/Shared/AnotherHome.ascx
~/Views/Home/AnotherHome.cshtml
~/Views/Home/AnotherHome.vbhtml
~/Views/Shared/AnotherHome.cshtml
~/Views/Shared/AnotherHome.vbhtml

如何强制视图引擎搜索视图,例如在Application2/Views/AnotherHome/AnotherIndex.cshtml

时间:原作者:0个回答

101 4

简而言之,你不能呈现应用程序目录不同应用程序的视图。这是IIS中的安全问题,它不允许你访问它的应用程序路径之外的文件。

更长的答案是你可以将IIS中的虚拟目录映射到应用程序目录中。但这需要特定的IIS配置来管理这个问题,如果它的他人在维护事件,那么就很容易破解。

不过,最好还是保留视图的单独副本。如果你对一个应用进行修改,然后它会破坏其他应用程序,会发生什么?

原作者:
87 5

必须重写 ASP.NET 默认视图引擎,然后重写视图路径,但必须配置第二个应用程序的位置。关于如何更改视图引擎搜索路径,如何更改 ASP.NET MVC中的默认视图位置方案,请参阅以下问题

原作者:
...