使用updatepanel div innerHTML问题

时间:2009-11-13 07:22:01

标签: asp.net updatepanel

我在asp.net中开发了一个应用程序,它设置了div的innerhtml。我正在创建一个html字符串来显示googlemap。它工作正常。但是当我把我的div放在更新面板中时。它不会在div中显示googlemap。这是我的aspx文件代码:

                
                    
                                                           

            </td>
        </tr>
        <tr>
            <td colspan="4">
                <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                    <ContentTemplate>
                        <div id="map_canvas" runat="server" style="width: 100%; height: 1500px; margin-bottom: 2px;
                            text-align: center;">
                            <asp:Panel ID="Panel1" runat="server">
                                <%--Place holder to fill with javascript by server side code--%>
                                <asp:Literal ID="js" runat="server"></asp:Literal>
                                <%--Place for google to show your MAP--%>
                                <div id="Div1" style="width: 100%; height: 728px; margin-bottom: 2px;">
                                </div>
                                <br />
                            </asp:Panel>
                        </div>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="btnShow" EventName="Click" />
                    </Triggers>
                </asp:UpdatePanel>
            </td>
        </tr>

这是我的按钮点击事件。

protected void btnShow_Click(object sender, EventArgs e)
{
  // works fine without update panel.     
  map_canvas.InnerHtml = showMapWithPoints();
}

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

当你这样做时:

map_canvas.InnerHtml = showMapWithPoints();

您正在覆盖该div中的所有内容,包括所有服务器端控件。

您是否正在做任何需要这些控件的内容,例如'js'和'div1'控件?