我在使用Spark的ASP.NET MVC 2应用程序中有以下文件夹结构。
[site root]
home
HomeController.cs
Views
Shared
Index.spark
但是,如果我将Index.spark移动到/ home文件夹,我会收到以下错误:
The view 'Index' or its master was not found. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
Home\Index.spark
Shared\Index.spark
这尤其令人困惑,因为文件\ home \ index.spark确实存在。有什么建议吗?
将index.spark移动到/ views / shared文件夹可以解决问题,但我不想将所有视图都塞进一个文件夹中。
更新*
我修改了Spark源中的DefaultDescriptorBuilder.cs:
protected virtual IEnumerable<string> PotentialViewLocations(string controllerName, string viewName, IDictionary<string, object> extra)
{
return ApplyFilters(new[]
{
"~/"+controllerName+"/"+viewName+".spark",
controllerName + "\\" + viewName + ".spark",
"Shared\\" + viewName + ".spark"
}, extra);
}
添加行
"~/"+controllerName+"/"+viewName+".spark",
已纠正问题。任何人都知道除了修改源代码之外是否有办法做到这一点?