Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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
Razor视图中的Html编码文本_Html_Asp.net Mvc_Razor - Fatal编程技术网

Razor视图中的Html编码文本

Razor视图中的Html编码文本,html,asp.net-mvc,razor,Html,Asp.net Mvc,Razor,文本和/或标记按原样呈现为输出,没有我们已经期望的任何html编码 对于以下内容,带有标记的纯文本必须是html编码的(我们不关心这里的代码输出) 因此,输出中的html 一些文本和其他文本>>xx 因此,当我们想要编写一些需要html编码的静态文本时,我们必须使用如下结构: @{ var theVar = "xyz"; } @("some text & other text >>")@theVar 在输出中获取以下html 一些文本&;其他文本xyz 以及在浏览器中

文本和/或标记按原样呈现为输出,没有我们已经期望的任何html编码

对于以下内容,带有标记的纯文本必须是html编码的(我们不关心这里的代码输出)

因此,输出中的html

一些文本和其他文本>>xx

因此,当我们想要编写一些需要html编码的静态文本时,我们必须使用如下结构:

@{ var theVar = "xyz"; }
@("some text & other text >>")@theVar
在输出中获取以下html

一些文本&;其他文本xyz

以及在浏览器中查看时的清晰度

一些文本和其他文本>>xyz

那么,有没有一种简单的方法可以做到这一点?html的一些快捷方式是对文本进行编码,而不是对每个文本使用@(“…”),当文本有多个时,这些文本就会开始看起来很糟糕。
最佳做法是什么?如何做到这一点?

因此,当我们为文档指定utf-8编码时,这不是一个大问题。当文档使用utf-8编码时,不需要将字符作为实体引用进行html编码,特殊(,&,,,')字符除外。 即使使用和本身对宽大的浏览器来说也不是错误的,但是会有诸如Volt&AMP这样的模糊不清的情况。所以,HTML编码所有这些特殊字符会更好。 检查W3联合体文章“何时使用逃逸”部分;

因此,当我们为文档指定utf-8编码时,这不是一个大问题。当文档使用utf-8编码时,不需要将字符作为实体引用进行html编码,除了特殊(,&,,')字符。 即使使用和本身对宽大的浏览器来说也不是错误的,但是会有诸如Volt & AMP这样的模糊不清的情况。因此,最好用html编码所有这些特殊字符

检查W3联合体文章“何时使用逃逸”部分;

您是否尝试过@Html.Raw()@Ji_in_编码:“返回未经Html编码的标记”。这听起来与OP试图做的正好相反。@Richard认为我的错在那里。并没有太多的关注,但mvc razor在默认情况下自动对所有字符串进行html编码;将字符串指定给ViewBag变量,并直接在cshtml中使用它。编辑,我假设他已经组装好了控制器的所有组件。我准备的所有内容都在view@Ji_in_coding:我认为问题与HTML标记中的文本有关,而不是字符串变量。我不认为有一种简单的方法可以自动编码——Razor希望你的文本已经是有效的HTML。我不确定你的快捷方式是什么意思,因为5个字符并不多。如果您想要格式更好的文本,也许可以尝试:
@helper Encode(Func template){@Html.Encode(template.Invoke(null))
通过
@Encode(@some text&other text>>@theVar)结束调用。
您是否尝试过@Html.Raw()@jiu in_编码:“返回未经Html编码的标记。”“这听起来和OP想要做的正好相反。”理查兹认为我的错在那里。并没有太多的关注,但mvc razor在默认情况下自动对所有字符串进行html编码;将字符串指定给ViewBag变量,并直接在cshtml中使用它。编辑,我假设他已经组装好了控制器的所有组件。我准备的所有内容都在view@Ji_in_coding:我认为问题与HTML标记中的文本有关,而不是字符串变量。我不认为有一种简单的方法可以自动编码——Razor希望你的文本已经是有效的HTML。我不确定你的快捷方式是什么意思,因为5个字符并不多。如果您想要格式更好的文本,也许您可以尝试:
@helper Encode(Func-template){@Html.Encode(template.Invoke(null))
通过
@Encode(@some text&other text>@theVar)结束调用。
@{ var theVar = "xyz"; }
@("some text & other text >>")@theVar