之間的剃刀聲明幫手比方說,我有2 MVC的Web項目(WEB1和web2)和1個項目包含共享視圖(共同)(using the razorgenerator of David Ebbo)
WEB1和web2都有一個test.cshtml文件。兩個test.cshtml文件中的幾個代碼塊完全相同。
我想知道是否有可能在不同項目中的幾個cshtml文件之間共享declarative helper (@helper)。所以把一個cshtml文件放到我的App_Code中並沒有幫助(我需要在每個web項目中有1個,這顯然不是我想要的)。
我知道我可以在我的'common'項目中創建一堆共享的部分視圖,但是創建20個cshtml文件似乎還不錯,每個cshtml文件都包含一小部分html。
我知道我可以創建一個標準的幫助器方法(static string GenerateAPieceOfHtml(this HtmlHelper helper, ....)
),但是我忘記了編寫HTML的容易程度,因爲您可以在cshtml文件中執行它。分享多個MVC Web項目
有一段時間我以爲I bumped into an answer that would allow me to do it。但正如我在評論中寫的那樣,這段代碼並沒有爲我編譯。
我希望我的問題是明確的:)
[更新]
作爲csharpsi要求在評論..我也嘗試從其他崗位代碼,但它並沒有吐出任何HTML我。自從我開始認爲這個答案應該可以做到這一點,因爲它有13個贊成票,我決定給它第二次嘗試..
我再次沒有得到任何輸出,但後來我試了一下有點不同。 。和成功!
我想這(不吐頁面上的任何HTML):
@{ new Test().DoSomething(Model); }
這是不工作的版本:
@{
var html = new Test().DoSomething(Model);
@html
}
其他版本的作品:
@(new Test().DoSomething(Model))
我該怎麼處理這個問題?刪除它?自己寫一個答案?
您是否嘗試了其他帖子的代碼而未聲明HelperResult爲靜態? – simonlchilds
我會說:回答你自己,引用用戶,讓你在正確的軌道與他/她的評論 – superjos