我在使用 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",
这已经纠正了这个问题。任何人都知道除了修改源之外是否有其他方法可以做到这一点?