У меня есть следующая структура папок в приложении ASP.NET MVC 2 с использованием Spark.
[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 решает проблему, но я не хочу помещать все мои представления в одну папку.
обновление *
Я изменил DefaultDescriptorBuilder.cs в источнике Spark:
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",
, который исправил проблему. Кто-нибудь знает, есть ли способ сделать это, кроме изменения источника?