jquery - 当我不想要它时,为什么 Jquery 呈现为 HTMLString?
问题描述
所以,我试图粘贴一个图像 URL,我知道问题是后端正确返回了一个图像 url,但是由于某些原因 razor 将它呈现为 HtmlString (我的问题是图像有“& " 在路径上,而 razor 将其替换为"&"
)
以此为例 (不是检索图片网址,只是为了了解问题):
@functions
{
private String GetPictureSrc()
{
return "&&&&";
}
}
然后在javascript部分:
$("#anImage").attr("src", "@GetPictureSrc()");
当我看到生成的代码时,我看到了:
<img id="anImage" src="&amp;&amp;&amp;&amp;">
我想看看这个函数到底返回了什么!
<img id="anImage" src="&&&&">
编辑: 此外,我刚刚发现问题出在 Jquery 中,而不是剃刀,如果我这样尝试,它工作正常,但不幸的是不是我需要的......
<img id="anImage" src="@GetPictureSrc()">
如何告诉 jquery 不要 HtmlFy 字符串?
提前致谢!
解决方案
你得到&
的不是&
因为 razor 是 HTML 编码你的 c# 表达式的结果(对你的GetPictureSrc
方法的调用,它返回一个字符串)。
Html.Raw
如果您不希望发生编码,请使用方法。
$("#anImage").attr("src", "@Html.Raw(GetPictureSrc())");
这将为您提供非 HTML 编码的值。
推荐阅读
- python-3.x - 使用 crontab 运行 Python 脚本时出现 FileNotFoundError
- javascript - Open blob file stored in indexDB on ios/Ipad
- python - S3 presigned url doesn't work when generated with a lambda function
- javascript - Is it okay to unsubscribe from a listener in its callback?
- html - Stack objects as a multiple item selector with html and css
- javascript - How to identify an Asynchronous function in Javascript?
- r - Getting as the last table header
- javascript - 为什么在 clearTimeout 之后 SetTimeout 代码仍然执行
- javascript - 逗号和括号之间的 0 用于什么?
- javascript - Javascript Solr(方面)查询脚本无法正常工作