Asp.net mvc 使用元素的变量名构建html标记
我想使用一个字符串变量,它可以包含h1、h2、h3等值来构建一些html。这适用于开始标记,但不适用于结束标记。如果我写Asp.net mvc 使用元素的变量名构建html标记,asp.net-mvc,razor,Asp.net Mvc,Razor,我想使用一个字符串变量,它可以包含h1、h2、h3等值来构建一些html。这适用于开始标记,但不适用于结束标记。如果我写 @{ var tag = "h1" ; } <@tag>some title here</@tag> @{var tag=“h1”;} 这里有一些标题 我最终得到了html <h1>some title here</@h1> 这里有一些标题 一项似乎有效的工作是 <@tag>some title here&l
@{ var tag = "h1" ; }
<@tag>some title here</@tag>
@{var tag=“h1”;}
这里有一些标题
我最终得到了html
<h1>some title here</@h1>
这里有一些标题
一项似乎有效的工作是
<@tag>some title here<@("/"+tag)>
这里有一些标题
但是它很难看。我需要在这里使用转义序列吗?我不确定您使用的是哪个版本的剃须刀 但是我在我的MVC4中测试了你的代码,它工作得非常好 它将呈现
某些内容
您可以使用Html.Raw
string lineTemplate = "<h{0}>{1}</h{0}>";
for (int tagCounter = 1; tagCounter < 7; tagCounter++)
{
@Html.Raw(string.Format(lineTemplate, tagCounter, "Header "+ tagCounter));
}
string lineTemplate=“{1}”;
用于(int-tagCounter=1;tagCounter<7;tagCounter++)
{
@Html.Raw(string.Format(lineTemplate,tagCounter,“Header”+tagCounter));
}
创建自定义HTML助手是否可行?类似于@Html.MyCustomTag(“h1”,“此处有一些标题”)
使用TagBuilder
?@PaulAbbott我确信这是一个非常好的方法,但我对在上述问题中需要使用的语法(或转义序列)很好奇。在MVC4和MVC5中对我都适用。它在ASP.NET Core MVC中也适用。