Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/143.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 Razor将html标记嵌入基于文本的括号中_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc Razor将html标记嵌入基于文本的括号中

Asp.net mvc Razor将html标记嵌入基于文本的括号中,asp.net-mvc,razor,Asp.net Mvc,Razor,在服务器上,我正在设置ViewBag.Something=“您好” 这是一些简单的HTML代码: <tr> <td class="foo"> @("please highlight" + Html.Raw("<span style='color: yellow;'>) + ViewBag.Something + Html.Raw("</span>") + ", " + ViewBag.More)

在服务器上,我正在设置ViewBag.Something=“您好”

这是一些简单的HTML代码:

<tr>
   <td class="foo">  
     @("please highlight" + Html.Raw("<span style='color: yellow;'>) +     
        ViewBag.Something + Html.Raw("</span>") + ", " + ViewBag.More)
   </td>
</tr>

@(“请突出显示”+Html.Raw(“)+
ViewBag.Something+Html.Raw(“”+“,“+ViewBag.More)
我的目标是看到Hello以黄色显示,我需要使用@(这里有各种字段)

使用上面的代码,我得到了这个错误的结果

please highlight < span style='color: yellow;'>Hello< /span>, More  
请突出显示你好,更多信息
其中span标记在html页面上显示为文本

问题:

在razor中,我需要做什么才能使SPAN标记在使用@(xxx)语法时成为真正的SPAN?

以下内容应该足够了(虽然您的第一个示例也足够了,但我猜实际上还有更多内容,这样圆括号使代码语句更加明确):


请突出显示@(ViewBag.Something)

作为将来的参考,您可能会发现有用。

您确定这就是您正在使用的代码吗?因为没有任何东西会导致HTML显示为原始,但也没有
@
调用服务器端处理,因此输出实际上应该说“ViewBag.Something”,而不是“Hello”“@David…我修复了@,但问题是我将显示为文本。然后,您的服务器/框架/等出现问题,或者有更多代码。老实说,第一个例子没有错。这是正常有效的HTML,只有一个解释值。@David我错了,我问错了问题。我猜我在尝试各种各样的场景,失去了重点。现在请看我的错误,我真正的问题是当我需要将包含各种变量的整行括起来时……在这种情况下(我重新编写了我的问题),将显示。您不需要将整行括起来,只需将需要作为C代码计算的部分括起来,在本例中,只需调用
ViewBag.Something
。解析器足够聪明,能够理解其余部分应该按原样写入输出流。您不需要也不应该在
@
块内有
span
标记。
<tr>
 <td class="foo">  
   please highlight <span style="color: yellow;">@(ViewBag.Something)</span>
 </td>
</tr>