[英]Can't access views from different project using Razor View Engine
我有一個用例,我有許多 web 項目,它們都使用相同的管理通用 web 頁面,所以我開始將我的視圖隔離到一個單獨的項目中,所有解決方案都可以引用和使用。
因為目前,每當我有新的更改時,我都必須跨解決方案復制粘貼視圖文件。
基於這個答案,我添加了一個新的自定義視圖引擎,然后添加了我的視圖所在位置的路徑(在我的主項目旁邊的一個單獨的項目中)。
public class CustomViewEngine : RazorViewEngine
{
public CustomViewEngine()
{
MasterLocationFormats = new string[]
{
"~/Views/{1}/{0}.aspx",
"~/Views/{1}/{0}.ascx",
"~/Views/Shared/{0}.aspx",
"~/Views/Shared/{0}.ascx",
"~/Shared.Views/Views/{1}/{0}.aspx",
"~/Shared.Views/Views/{1}/{0}.ascx",
};
ViewLocationFormats = new string[]
{
"~/Views/{1}/{0}.aspx",
"~/Views/{1}/{0}.ascx",
"~/Views/Shared/{0}.aspx",
"~/Views/Shared/{0}.ascx",
"~/../Shared.Views/Views/{1}/{0}.aspx",
"~/../Shared.Views/Views/{1}/{0}.ascx",
};
}
}
當包括以下內容時:
"~/../Shared.Views/Views/{1}/{0}.aspx",
"~/../Shared.Views/Views/{1}/{0}.ascx",
我收到以下異常:
不能使用前導.. 退出頂級目錄。 說明:在執行當前 web 請求期間發生未處理的異常。 請查看堆棧跟蹤以獲取有關錯誤及其源自代碼的位置的更多信息。
異常詳細信息:System.Web.HttpException:無法使用前導..退出頂級目錄。
我的文件結構。
Solution
Shared.Views
Views
Profiles
create.cshtml
delete.cshtml
edit.cshtml
details.cshtml
MainProject
Global.asax
我必須添加什么正確路徑來告訴 MVC 在我的單獨項目中查找視圖?
您不能像現在這樣引用另一個項目中的文件。 如果您使用的是 ASPNET Core 2.1+,請查看Razor Class 庫
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.