c# cshtml教學 - 共享MVC Razor在多個視圖中起作用




2 Answers

這聽起來像你想要博客發布的ASP.NET MVC3中的Razor @helper方法以及 Scott Guthrie 在Razor中的@helper語法

以下是概述...... “Razor中的@helper語法使您可以輕鬆創建可重用的輔助方法,這些方法可以在視圖模板中封裝輸出功能。它們可以實現更好的代碼重用,並且還可以促進更易讀的代碼。”

razor語法 asp.net

我的視圖中有多個頁面共享的函數:

@functions 
{
    public HtmlString ModeImage(ModeEnum mode) 
    {
        switch(mode)
        {
            case AMode: new HtmlString("<img etc..."); break;
            // more etc...
        }
    }
}

有沒有辦法將它放在一個單獨的文件中,並將其包含在每個頁面上,而無需將其複制並粘貼到每個頁面。 我知道我可以編寫.cs文件並在每頁訪問它,但該函數確實涉及視圖,如果此函數發生更改,我不想重新編譯。




您可以創建一個靜態幫助頁面並在頁面中放置一個普通的static方法。
然後你可以通過在任何地方編寫PageName.MyMethod()調用它,我相信你不需要重新編譯項目。




Related

c# asp.net-mvc view razor