我想使用“href”链接 cshmt 项目中的 tiktok 页面,但我认为由于 tiktok 默认情况下的“@”,它会给出错误。
我尝试使用下面的两种语法,但在浏览器中出现错误:“字符文字中的字符过多”(示例1)和“当前上下文中不存在名称“tiktok””(示例2) .
<li>
<a href="@('https://www.tiktok.com/@tiktok.example1?lang=en/')">
<img src="/assets/img/social-tiktok.svg" alt="Tiktok Icon">
</a>
</li>
<li>
<a href="https://www.tiktok.com/@tiktok.example2?lang=en/">
<img src="/assets/img/social-tiktok.svg" alt="Tiktok Icon">
</a>
</li>
这篇文章详细介绍了 html 转义字符的方法。如果不需要动态执行,只需将 '@' 替换为
%40
。
好吧,第一个错误,
Too many characters in the character literal
,那是因为当你说@()
时,你就开始用CS代码编写了。没关系,但这意味着 '
和 "
的工作方式会改变。您可能知道,在 CS 中,单引号 ('
) 标记类型 char
,因此 char exampleOne = 'a'
可以工作,因为 char
只能是单个字符,但 char exampleTwo = 'ab'
不能,因为 char可能只有单个字符长度。因此,@('https://www.tiktok.com/@tiktok.example1?lang=en/')
应该是 @("https://www.tiktok.com/@tiktok.example1?lang=en/")
,这样就可以了,请参阅以下完整示例。
<li>
<a href="@("https://www.tiktok.com/@tiktok.example1?lang=en/")">
<img src="/assets/img/social-tiktok.svg" alt="Tiktok Icon">
</a>
</li>
然后,下一个错误,
The name "tiktok" does not exist in the current context
,是因为,就像它所说的那样,没有变量或方法或任何称为 tiktok
的东西。这是因为当您在 cshtml 或 razor 文件中使用 @
时,它假定您将使用 CS 关键字或变量或相关内容。为了避免这种情况,您有几个选择。为了便于使用,声明双 @ (@@
) 会转义 cshtml/razor 中的 @
使用,并将其转换为单个 @
字符。但是,如果这对可读性有困难,您可以使用 html 转义字符模式,例如 %40
之前建议的 pierrefondss
(here 是指向该内容的链接)。
希望这有帮助!
我尝试用
@
替换 @,它对我有用。