2010-01-18 39 views
1
#Html.RenderPartial(MVC.Shared.Views._Sorter); 

拋出錯誤=>T4MVC的RenderPartial和Spark視圖

沒有爲擴展名 '.spark' 註冊沒有生成提供。您可以在machine.config或web.config的部分中註冊一個。確保具有包含值'Web'或'All'的BuildProviderAppliesToAttribute屬性。

描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。

異常詳細信息:System.Web.HttpException:沒有爲擴展名「.spark」註冊的構建提供程序。您可以在machine.config或web.config的部分中註冊一個。確保具有包含值'Web'或'All'的BuildProviderAppliesToAttribute屬性。

任何想法可能是錯的什麼?


添加此到的web.config =>的System.Web =>彙編

<buildProviders> 
    <add extension=".spark" type="System.Web.Compilation.PageBuildProvider" /> 
    </buildProviders> 

力程式建立火花視圖web表單查看和產生${Something.something}各地。那麼 - Spark View Engine的等價物是什麼?

+0

我還會考慮在T4MVC論壇(http://forums.asp.net/1215.aspx)上提出這個問題,創建者David Ebbo經常會在那裏經常回復。 – 2010-01-18 10:24:26

回答

2

您可以請嘗試對T4MVT.tt進行以下更改。在該方法中ViewsFolderInfo.AddView,更改行:

Views[viewFieldName] = GetVirtualPath(item); 

Views[viewFieldName] = viewFieldName; 

如果效果很好,我們只需要添加一個開關來設置文件,使得它做到這一點,而不是默認的完整路徑。

讓我知道那是怎麼回事!


請注意,MVC.Shared.Views._Sorter只是一個常量與視圖的路徑。如果你不用T4MVC編寫這段代碼,你會傳入什麼字符串?

也許Spark在它接受的視圖路徑類型中有不同的要求?如果需要的話,我們可以調整T4MVC來完成這項工作,但我想先充分理解T4MVC之外的Spark行爲。

+0

問題是 - 我不知道爲什麼它會如此工作,火花期望。純視圖名稱「_Sorter」(無相對路徑)的作品。沒有檢查使用web表單viewengine是否相同。如果你調整了某些東西,那麼如果這樣做會以漸進式附魔的形式完成(使用相對路徑用於其他目的,但目前成功(用於UI測試的視圖ID))。 – 2010-01-18 20:52:43

+1

只傳遞「_Sorter」的問題在於,如果調用來自不同的控制器,則不起作用。我將與Spark人員討論他們的建議。 – 2010-01-18 23:07:46

+1

好吧,我在http://groups.google.com/group/spark-dev/browse_thread/thread/b296e29e490eb5ee?hl=zh-CN上發佈了一個問題,但沒有人回覆。也許T4MVC需要一個選項來生成簡單的視圖名稱。 – 2010-01-22 00:25:58