2009-11-13 127 views
1

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



  </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(); 
} 

回答

0

当你这样做:

map_canvas.InnerHtml = showMapWithPoints(); 

您将要覆盖的一切,包括所有的服务器端控件,在该div内。

你是否在做任何需要这些控件的东西,比如'js'和'div1'控件?