2017-09-22 10 views
-1

html、h2、h3などの文字列変数を使用してhtmlを作成したいとします。これはオープニングタグでうまく動作しますが、終了タグでうまく動作しません。私は要素の変数名を使用してHTMLタグを構築する

@{ var tag = "h1" ; } 
<@tag>some title here</@tag> 

を記述する場合、私は、HTML

<h1>some title here</@h1> 

動作しているようです回避策で終わる

<@tag>some title here<@("/"+tag)> 

ですが、それはかなり醜いです。ここで使用する必要があるエスケープシーケンスはありますか?

+0

カスタムHTMLヘルパーを作成しますか? '@ H​​tml.MyCustomTag(" h1 "、" some title here ")'のようなものです。 'TagBuilder'を使っていますか? –

+0

@PaulAbbottこれは完全に良い方法だと思いますが、上記の問題で使用する必要があった構文(またはエスケープシーケンス)について興味がありました。 –

+0

MVC4とMVC5の両方でうまく動作します –

答えて

0

私はあなたが

を使用しているカミソリのバージョンを確認していないが、私は私のMVC4でコードをテストし、それはあなたがHtml.Rawを使用することができます<h1>something</h1>

0

をレンダリングします完璧

に動作します。

string lineTemplate = "<h{0}>{1}</h{0}>"; 
for (int tagCounter = 1; tagCounter < 7; tagCounter++) 
{ 
    @Html.Raw(string.Format(lineTemplate, tagCounter, "Header "+ tagCounter)); 
} 
関連する問題