Как остановить & в следующей строке от кодирования как & amp;HtmlHelper encodes & as &
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}¢er={4}",
"https",
GOOGLE_MAP_DOMAIN,
GOOGLE_MAP_ACTION,
GOOGLE_MAP_API,
mapData.Coordinates.ToString()
);
tag.MergeAttribute("src", googleMapUrl);
return MvcHtmlString.Create(tag.ToString());
}
}
Это создает Iframe с SRC, такие как это:
SRC = "& https://www.google.com/maps/embed/v1/view?key=myAPIkey центр = 52.377736 , 4.915779"
GoogleMaps игнорирует центр (координаты GPS)
То, что я хочу это:
SRC = "https://www.google.com/maps/embed/v1/view?key = myAPIkey & центр = 52,377736, 4,915779"
Elaborate, пожалуйста, какие HtmlHelper Встроенный, собственный Показать больше кода.? В настоящее время не задействован код MVC. Просто String.Format() не кодирует HTML. – abatishchev
& символ - это кодированный HTML формат «&». Если вы не хотите, чтобы он был закодирован, вы будете необходимо заменить кодировщик чем-то другим, своим собственным ИЛИ вы можете заменить & на & вручную, используя метод 'String.Replace()'. – gretro
выглядит как его @ на данный момент – CRice