1

我在使用 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",

这已经纠正了这个问题。任何人都知道除了修改源之外是否有其他方法可以做到这一点?

4

0 回答 0