tags

ASP .NET RazorのHTMLヘルパーの使い方と自作ヘルパーの作り方

● ASP .NET RazorのHTMLヘルパーの使い方

HTMLヘルパーはビュー( .cshtml )にて @Html.メソッド名 にて使用します。
例(HTMLエスケープを行わずそのまま出力する Raw() を呼び出す)

ViewData["message"] = "改行<br>します";
@Html.Raw( ViewData["message"] )

表示結果

改行
します

● ASP .NET Razorの主なHTMLヘルパー

こちらを参考に
http://blog.shibayan.jp/entry/20110327/1301152413

● 自作ヘルパーを作成する

例) 改行を<BR>タグに変換する自作ヘルパーを作成します。
【プロジェクト名】/Helpers/Myhelper.cs

using System;
using System.Web;
using System.Web.Mvc;

namespace 【プロジェクト名】.Helpers
{
    public static class Myhelper
    {
        public static MvcHtmlString newline2br( this HtmlHelper helper, string arg )
        {
            return MvcHtmlString.Create( arg.Replace( "\r\n", "\n" ).Replace( "\r", "\n" ).Replace( "\n", "<br>" ) );
        }
    }
}

テンプレートには以下のように記述します
mytemplate.cshtml

@using EVAA.Helpers

@Html.newline2br( "テスト\n文字列" )
No.1244
06/13 14:13

edit