Javascript 为什么我的字符串会返回'&引用;
我正在尝试为网页中的地图生成一些动态标记。目前,我有一段代码,它从javascript函数返回一个字符串:Javascript 为什么我的字符串会返回'&引用;,javascript,c#,string,Javascript,C#,String,我正在尝试为网页中的地图生成一些动态标记。目前,我有一段代码,它从javascript函数返回一个字符串: public ActionResult Index() { System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("en-US"); var franquias = _context.Franquias.ToList();
public ActionResult Index()
{
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("en-US");
var franquias = _context.Franquias.ToList();
string val = "";
int count = 0;
foreach (Franquia f in franquias)
{
count++;
val = val +
@" var marker" + count + @" = new google.maps.Marker({position: new google.maps.LatLng(" + f.Latitude + ", " + f.Longitude + ")," +
@"'map': map," +
@"'title': 'Click me'" +
@"});";
}
MapsViewModel viewModel = new MapsViewModel();
viewModel.Codigo = val;
return View(viewModel);
}
问题是,当返回字符串时,我有这个'代码>出现的代码,这会破坏我的JavaScript代码:
var marker1 = new google.maps.Marker({'position': new google.maps.LatLng(-lat, -lng),'map': map,'title': 'Click me'});
在将原始字符串写入页面时,Razor将自动对其进行HTML编码。为了防止这种情况,您需要使用Html.Raw
。例如,与此相反:
@Model.Codigo
这样做:
@Html.Raw(Model.Codigo)
在将原始字符串写入页面时,Razor将自动对其进行HTML编码。为了防止这种情况,您需要使用Html.Raw
。例如,与此相反:
@Model.Codigo
这样做:
@Html.Raw(Model.Codigo)
显示您的视图代码-您只是将其直接转储到页面上,而不是将其包装在@Html.Raw(…)
中吗?请在视图中呈现JavaScript的位置发布代码。显示您的视图代码-您只是将其直接转储到页面上,而不是将其包装在@Html.Raw(…)
?请在视图中呈现JavaScript的位置发布代码。希望提及ASP.NET Razor pages会自动执行此操作,以防止交叉脚本攻击等攻击。使用Html.raw时要小心。要提到ASP.NET Razor页面会自动执行此操作,以防止交叉脚本攻击等攻击。使用Html.Raw时要小心