2013-04-06 65 views
1

有沒有辦法從類項目(或可能是另一個Web應用程序項目)中導入dll到Web應用程序項目並重用@helper?使用Razor的Web應用程序的可重用性似乎幾乎爲零,如果無法實現。從類項目導入Razor @helper

回答

2

你可以做到,但你必須跳過幾個箍。

  1. 你需要獲得RazorGenerator:「這是一個自定義工具爲Visual Studio,使處理剃刀文件在設計時,而不是運行時間,使他們能夠建設成爲更簡單的重複使用和分配的組件。」

  2. 使用RazorGenerator,您可以在聲明helper函數的類庫項目中創建.cshtml文件。例如,在一個名爲Foo.cshtml:

    @helper MyHelper(string parameter) {<text>@parameter</text>} 
    
  3. 這些助手將存在爲靜態方法在代表你的.cshtml文件中的靜態類。在上面的例子中,這將轉化爲Foo.MyHelper

  4. 就像其他任何靜態方法一樣,您可以從Web應用程序的.cshtml文件中調用這些靜態方法。 (假設你已經加入了正確using指令指向命名空間包含您的幫助。)例如:

    <div>@Foo.MyHelper("hello world")</div> 
    
+0

對不起,不回答,但現在我有時間去嘗試out.It像一個作品魅力!感謝您的大力幫助! – 2013-04-09 07:01:12

+0

很高興你能工作! – 2013-04-09 13:55:46