1

对于我网页上的分页功能,我将使用符号 <,它是一个分隔符。当我运行 html 检查时,它给了我这个错误:

Line 747, Column 318: character "<" is the first character of a delimiter but occurred as data 
…quot;, &quot;&quot;, true, &quot;&quot;, &quot;&quot;, false, true))"><<   </a>

我知道必须有办法解决这个问题。这是我的 aspx 代码的样子:

 <td>
     <asp:LinkButton ID="PagerPrev" runat="server" CommandName="Page" CommandArgument="Prev"
    Text="<&nbsp;&nbsp;&nbsp;" ToolTip="Previous" />
</td>

如果您在 Text=" 之后看到我使用了 < 这就是 html 错误检查器正在接收的内容。感谢您的帮助。

4

3 回答 3

4

您必须像使用不间断空格一样对其进行编码:

"<""&lt;"

">""&gt;"

于 2012-11-01T12:58:39.213 回答
0

使用 对值进行 HTML 编码&lt;

如果您以编程方式更新文本,则可以使用HttpServerUtility(通过ServerASP.NET 页面的属性公开):

PagePrev.Text = Server.HtmlEncode(theValue);

HTML 编码确保文本在浏览器中正确显示,并且不会被浏览器解释为 HTML。例如,如果文本字符串包含小于号 (<) 或大于号 (>),浏览器会将这些字符解释为 HTML 标记的左括号或右括号。当字符被 HTML 编码时,它们被转换为字符串 < 和 >,这会导致浏览器正确显示小于号和大于号。

事实上,您甚至可以使用内联脚本在页面上执行此操作,但这在很大程度上是不必要的。

于 2012-11-01T12:58:56.767 回答
0

正如其他人所说,如果您使用“<” HTML 内容中的字符,需要将其转义为&lt;.

另一种方法是使用其他字符。在正常语言中,“<” 仅表示“小于”。使用诸如“←”之类的箭头字符可能更好地传达向后或向前的想法,例如:

<style>
.arrow { font-weight: bold; font-family: Verdana; }
</style>
<a href="..." title="previous page" class="arrow">&larr;</a>
于 2012-11-01T13:51:12.697 回答