2011-02-14 39 views
8

我通過his blog看到了Scott Guthrie關於幫助程序方法的文章。Razor RTM中的聲明性幫助程序方法

具體如下:

我看到的RC版MVC摞的是,缺乏輔助方法3個職位......我看到它被突出顯示的語法支持(@helper),但我有此在/Views/Helpers/SomeHelper.cshtml(定義爲一個局部視圖):

@helper SomeHelper(string text) 
{ 
    if (text != null) 
    { 
     <text> 
      @text 
     </text> 
    } 
    else 
    { 
     <text> 
      Unknown 
     </text> 
    } 
} 

我用這種方式:

<div> 
Helper with Text: 
@SomeHelper("This is not null text.") 
</div> 

但是我得到SomeHelper沒有定義....所以我把這個搞砸了?我需要做些什麼來將這些視圖註冊爲幫助者?

謝謝。

回答

12

我已經通過在我的項目中創建了一個App_Code文件夾來完成此操作,然後在該文件夾中創建一個Helpers.cshtml文件。

然後,在.cshtml視圖,使用:

@Helpers.SomeHelper("This is not null text.") 

這是我發現創建整個Web項目共享聲明輔助方法的唯一途徑。如果有其他人,我想聽聽他們的消息。

+0

正確,這是目前MVC中唯一的工作方式。將來對全球幫手來說會有一個更好的故事。我們沒有時間讓這個工作。 – marcind 2011-02-14 03:48:04