更新面板中的谷歌地图api-信息窗口中的HTML不会显示在刷新更新面板上

Google maps api in updatepanel - HTML in InfoWindow do not show up on refreshing update panel

本文关键字:更新 显示 刷新 信息窗 谷歌地图 api- 信息 窗口 HTML      更新时间:2023-09-26

我在update panel中有一个谷歌地图画布。每次更新面板刷新时,地图都会刷新其内容(位置)。我需要在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
})  

谁能告诉我哪里出了问题吗。

我检查了浏览器中的Javascript控制台,发现错误消息A potentially dangerous Request.Form value was detected from the client
使用以下堆栈溢出链接-我发现validateRequest在Page指令中设置为falsevalidateRequest="false"

希望这能帮助其他面临同样问题的人。