Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 使用元素的变量名构建html标记_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc 使用元素的变量名构建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

我想使用一个字符串变量,它可以包含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<@("/"+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中也适用。