1
有沒有辦法從類項目(或可能是另一個Web應用程序項目)中導入dll到Web應用程序項目並重用@helper?使用Razor的Web應用程序的可重用性似乎幾乎爲零,如果無法實現。從類項目導入Razor @helper
有沒有辦法從類項目(或可能是另一個Web應用程序項目)中導入dll到Web應用程序項目並重用@helper?使用Razor的Web應用程序的可重用性似乎幾乎爲零,如果無法實現。從類項目導入Razor @helper
你可以做到,但你必須跳過幾個箍。
你需要獲得RazorGenerator:「這是一個自定義工具爲Visual Studio,使處理剃刀文件在設計時,而不是運行時間,使他們能夠建設成爲更簡單的重複使用和分配的組件。」
使用RazorGenerator,您可以在聲明helper
函數的類庫項目中創建.cshtml文件。例如,在一個名爲Foo.cshtml:
@helper MyHelper(string parameter) {<text>@parameter</text>}
這些助手將存在爲靜態方法在代表你的.cshtml文件中的靜態類。在上面的例子中,這將轉化爲Foo.MyHelper
。
就像其他任何靜態方法一樣,您可以從Web應用程序的.cshtml文件中調用這些靜態方法。 (假設你已經加入了正確using
指令指向命名空間包含您的幫助。)例如:
<div>@Foo.MyHelper("hello world")</div>
對不起,不回答,但現在我有時間去嘗試out.It像一個作品魅力!感謝您的大力幫助! – 2013-04-09 07:01:12
很高興你能工作! – 2013-04-09 13:55:46