天天看點

Razor裡寫函數

asp.net mvc的視圖裡使用Razor來書寫伺服器代碼,人盡皆知。可以常常見到裡面寫上for循環語句,輸出一大堆東東,牛逼得很。

可是,如果循環語句還不能滿足我們的要求,需要定義一個函數來調用,該怎麼搞?

網上那些牛逼哄哄的教程文章立即三緘其口一大半。

<ul class="navList clx" id="J_GisSiteNav">
    @functions{
        string outputTags(IList<ViewTag> list,bool isCurrent = false)
        {
            StringBuilder sb = new StringBuilder("");
            ……
            return sb.ToString();
        }
    }
    @if (mylist.Count > 0)
    {
        <span id='spBasicView'>@Html.Raw(outputTags(list, false))</span>
        <span id='spMyView'>@Html.Raw(outputTags(mylist, true))</span>
    }
    else if (list.Count > 0)
    {
        <span id='spBasicView'>@Html.Raw(outputTags(list, true))</span>
    }        
    <li><a class="add" οnclick="setTags()" href="javascript:void(0);">......</a></li>
</ul>