【发布时间】:2014-09-10 14:37:21
【问题描述】:
我在update panel 中有一个 Google 地图画布。每次更新面板刷新时,地图都会刷新其内容(位置)。我需要在InfoWindow 中以表格格式显示一些内容。
问题是,如果我在 InfoWindow 中使用html tags,它只会在应用程序加载时第一次显示,当我刷新更新面板时,应用程序会冻结。但是,如果我在 InfoWindow 中使用纯字符串,则内容每次都会正确显示。
这是 C# 中的代码,我在其中生成 InfoWindow 的表格内容。
sb.Append("<div id=\"content\"><table>");
foreach (DataRow dr in dt.Rows)
{
sb.AppendLine("<tr><td>" + dr[0].ToString() + "</td></tr>");
}
sb.Append("</table></div>");
更新更新面板后这不起作用。但是下面的代码有效:
StringBuilder sb = new StringBuilder();
foreach (DataRow dr in dt.Rows)
{
sb.AppendLine(dr[0].ToString());
}
我将生成的字符串放入 hiddenfield 并在 js 文件中使用它,如下所示:
var contentString = document.getElementById('InfoWindowString').value;
var infowindow = new google.maps.InfoWindow({
content: contentString
})
谁能告诉我哪里出错了。
【问题讨论】:
-
dr[0].ToString()中是否有一些无效的 HTML 会导致表格标签出现问题? -
@duncan 不。我使用 - sb.AppendLine("
");即使那样它也没有用" + "test" + "
标签: c# javascript asp.net google-maps google-maps-api-3