【问题标题】:Asp.net meta name="description" with apostrophe带有撇号的 Asp.net 元名称 =“描述”
【发布时间】:2012-04-19 17:01:18
【问题描述】:

我正在从数据库中动态加载我的页面中的 meta name="description"。我有一些包含撇号的内容,例如

男士运动衫

当我检查页面源时,我看到元描述为

Men's Sweat Shirt

这是应该的吗?

是的,我知道 google 对我的元描述不太感兴趣,但是,我更愿意遵循正确的准则。

【问题讨论】:

    标签: asp.net html


    【解决方案1】:

    这可能是最好的方式,除非它打扰了一些东西。如果不加以检查,撇号或单引号可能会破坏很多代码。 ' 是撇号的 html 转义序列。我真的很惊讶它没有破坏您数据库中的任何内容,因为 SQL 使用单引号作为字符串分隔符。

    如果您觉得需要摆脱它,请查看HttpUtility.HtmlDecode()

    【讨论】:

    • 如果您连接字符串而不是使用参数化查询,单引号只会中断 SQL 查询。它们可以有效地存储在任何文本列中。
    • HtmlDecode 无法正常工作,因为这里暴露了 forums.asp.net/t/1340962.aspx/1/10(但还有另一种工作方法可以扩展 HtmlMeta
    • @mgnoonan,这是正确的。我并不是要暗示您不能在数据库中存储单引号。我以前看到它出错了。
    • @TimSchmelter - 这似乎有效。我扩展了 HtmlMeta,到目前为止它在我的测试服务器上工作。我欠你对该建议的一票(链接)。
    • @SaifKhan:然后将其添加为答案,如果有效则接受。
    猜你喜欢
    • 2019-05-11
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2014-09-08
    相关资源
    最近更新 更多