2017-09-22 58 views
-1

我想使用一個字符串變量,它可以包含值h1,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幫助器的工作?像'@ Html.MyCustomTag(「h1」,「這裏有些標題」)使用'TagBuilder'? –

+0

@PaulAbbott我相信這將是一個完美的方法,但我對上述問題中需要使用的語法(或轉義序列)感到好奇。 –

+0

在MVC4和MVC5中都能正常工作 –

回答

0

我不知道哪一個剃鬚刀版本使用的是

,但我在MVC4測試你的代碼,它完美

它會使<h1>something</h1>

0

您可以使用Html.Raw。

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