gpt4 book ai didi

c# - HtmlHelper 将 & 编码为 &

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:09 24 4
gpt4 key购买 nike

如何阻止以下字符串中的 & 被编码为 & amp;

public static class GoogleMaps
{
public static MvcHtmlString DisplayMap(this HtmlHelper html,
GoogleMapData mapData, int width, int height)
{
const string GOOGLE_MAP_API = "xxx";
const string GOOGLE_MAP_DOMAIN = "www.google.com/maps";
const string GOOGLE_MAP_ACTION = "/embed/v1/view";

var tag = new TagBuilder("iframe");
tag.MergeAttribute("width", width.ToString());
tag.MergeAttribute("height", height.ToString());
tag.MergeAttribute("style", "border:0");
tag.MergeAttribute("frameborder", "0");

string googleMapUrl = String.Format(
@"{0}://{1}{2}?key={3}&center={4}",
"https",
GOOGLE_MAP_DOMAIN,
GOOGLE_MAP_ACTION,
GOOGLE_MAP_API,
mapData.Coordinates.ToString()
);
tag.MergeAttribute("src", googleMapUrl);

return MvcHtmlString.Create(tag.ToString());

}
}

这会生成一个带有 SRC 的 Iframe,如下所示:

src="https://www.google.com/maps/embed/v1/view?key=myAPIkey&center=52.377736, 4.915779"

GoogleMaps 忽略中心(GPS 坐标)

我想要的是:

src="https://www.google.com/maps/embed/v1/view?key=myAPIkey&center=52.377736, 4.915779" 

最佳答案

HtmlHelper 应该 对&符号进行编码。事实上,在属性中使用的符号应该被编码为有效的 HTML。 W3C 验证器会告诉您同样的事情。

你的代码会工作得很好,浏览器会理解它,服务器也会理解。

不相信我?请参阅这些链接:

(特别是“HTML 中的链接(或任何 HTML 属性值)” http://mrcoles.com/blog/how-use-amersands-html-encode/

http://www.htmlhelp.com/tools/validator/problems.html

关于c# - HtmlHelper 将 & 编码为 &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com