[asp.netMVC] Helper改變View的物件的顯示格式(非HtmlHelper)

  • 932
  • 0
  • 2013-11-14

摘要:[asp.netMVC] Helper改變View的物件的顯示格式(非HtmlHelper)

一般來說傳送到View的資料有部分會需要再修改格式

例如在查詢資料的畫面的話,西元要改成民國、或是摘要欄位太長就只取前面20個字之類的

就可以使用Helper,通常都是用來取代原本的@html.DisplayFor,像是下面:


@Html.DisplayFor(modelItem => item.Message)                
                @ShowString(item.Message)

上面的ShowString()就是我們自行定義的Helper,定義的方式很簡單,寫在View的

最上方就可以了,如下:


@helper ShowString(string input)
{
    if (input.Length > 20)
    {
    too long(helper method)
    }
    else
    {
    @input;
    }
}

這樣子就可以把過長的內容縮短了。

另外~如果這個helper的使用頻率很高,也可以改寫在App_Code裡面的.cshtml

這裡我們把名稱取作UIHelper.cshtml

就把一模一樣的內容貼在裡面

實際上要引用的時候,像是下面這樣即可:


@UIHelper.CommonShowString(item.Email)

補充:所以Helper可以設定為單一View用的(寫在View裡面),或是整個專案使用的(寫在app_code/oooxx.cshtml裡面)