2016-04-21 1 views
1

Я нашел эту статью, которая могла бы помочь мне с проблемой, которую я сейчас имею. Проблема в том, что я с трудом пытаюсь заставить ее работать. В статье How to use ASP.NET AJAX UpdatePanel in ModalPopupПопытка сделать пример работы: Как использовать ASP.NET AJAX UpdatePanel в ModalPopup?

Так что я создал еще более простой пример, но проблема в том, что Label lblText не обновляется (он остается с это метка), даже несмотря на то, отделенного кода в настоящее время выполняется, так как он попадает в точку останова , Поэтому любая помощь приветствуется.

Так вот разметка:

<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 
<div> 
    <asp:UpdatePanel ID="udpOutterUpdatePanel" runat="server"> 
     <ContentTemplate> 
      <div id="divControlContainer" runat="server"> 
       <asp:LinkButton ID="lbtnRed" runat="server" onclick="lbtnRed_Click">Red</asp:LinkButton> 
      </div> 
      <input id="dummy" type="button" style="display: none" runat="server" /> 
      <ajaxToolkit:ModalPopupExtender runat="server" 
        ID="mpeThePopup" 
        TargetControlID="dummy" 
        PopupControlID="pnlModalPopUpPanel" /> 
      <asp:Panel ID="pnlModalPopUpPanel" runat="server" style="border: 2px solid black; position:absolute; width:600px; height: 520px; display:none"> 
       <asp:UpdatePanel ID="udpInnerUpdatePanel" runat="Server" UpdateMode="Conditional"> 
        <ContentTemplate> 
         <p> 
          <asp:DropDownList ID="ddlProducts" runat="server"></asp:DropDownList>         
          &nbsp; 
          <asp:Button ID="btnChooseProduct" runat="server" Text="Choose" onclick="btnChooseProduct_Click"/> 
          &nbsp; 
          <asp:Button ID="btnCancelModalPopup" runat="server" Text="Cancel" /> 
         </P> 
         <div style="width: 200px; border: 1px solid red"> 
          <asp:Label ID="lblText" Text="this is the label" ForeColor="Black" runat="server"></asp:Label><br /> 
         </div> 
        </ContentTemplate>  
        <Triggers> 
         <asp:AsyncPostBackTrigger ControlID="btnChooseProduct" EventName="Click" /> 
        </Triggers> 
       </asp:UpdatePanel> 
      </asp:Panel> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
</div> 
</form> 

отделенного кода:

protected void btnChooseProduct_Click(object sender, EventArgs e) 
{ 
    lblText.Text = "You have selected " + ddlProducts.SelectedItem.Text; 
    //Show ModalPopup 
    mpeThePopup.Show(); 
} 

protected void lbtnRed_Click(object sender, EventArgs e) 
{ 
    ddlProducts.Items.Clear(); 

    //Populate DropDownList Items 
    ddlProducts.Items.Add(new ListItem("Red Balloon", "Red Balloon")); 
    ddlProducts.Items.Add(new ListItem("Red Apple", "Red Apple")); 
    ddlProducts.Items.Add(new ListItem("Red Shirt", "Red Shirt")); 
    ddlProducts.Items.Add(new ListItem("Red Watch", "Red Watch")); 
    mpeThePopup.Show(); 

} 
+1

Я делаю для себя тест и его работу, поэтому у вас есть ошибка JavaScript, которую вы можете найти: Откройте консоль браузера и посмотрите на ошибки. Другой способ, удалить временные ваши UpdatePanels, чтобы увидеть, на самом деле, что такое ошибка ... – Aristos

+0

Вы использовали точный код, который я опубликовал? Потому что я просто пытался с Chrome и IE11, а 'lblText' не меняется после нажатия на' btnChooseProduct'. – rbhat

+0

Да, я использую этот код, потому что он пропускает некоторый javascript, как бы я ни заставлял его работать. Сделайте то, что я вам скажу, откройте консоль, посмотрите на ошибки. – Aristos

ответ

0

Проблема в том, что я ссылки AJAX Control Toolkit 3.5 в VS 2010. Я просто удалил эту эталонную, загрузка и установка AjaxControlToolkit .dll 4.0, и все работает сейчас.

Спасибо.