2016-05-31 4 views
1

Я использую Visual Studio 2010 и базы данных Я использую Entity Framework 4.ModalPopupExtender вызова .Show() не работает

В моей странице, у меня есть 3 вкладки и во второй вкладке я виде сетки для отображения Сведения о сотруднике. В этом режиме Grid View есть 2 кнопки изображения для Delete для Edit. Я хочу открыть всплывающее окно, когда я нажму кнопку «Редактировать изображение».

Проблемы: 1. Всплывающее окно появляется только на секунду. 2. Возможность получить индекс строки в виде сетки. Но никакого значения не переходит в другое текстовом поле, он показывает нулевое значение т.е. name0.Text = «»

В моей странице .aspx я следующее

Для кнопки Image

<asp:ImageButton ID="edit" runat="server" CommandArgument='<%# Bind("EmpID")%>' CommandName="edituser" ImageUrl="image/images.jpg" ToolTip="Edit User Details" OnClick="EditUser_Clicked"> </asp:ImageButton> 

Для ModalPopupExtender

<asp:ToolkitScriptManager ID="Toolkitmgr" runat="server"></asp:ToolkitScriptManager> 
     <asp:HiddenField ID="EmpID" runat="server" 
      onvaluechanged="EmpID_ValueChanged"/> 
     <asp:ModalPopupExtender ID="mpedit" DropShadow="true" BackgroundCssClass="modalBackground" 
      PopupControlID="pnedit" CancelControlID="btnCancel" 
      runat="server" TargetControlID="EmpID"></asp:ModalPopupExtender> 
      <asp:Panel runat="server" ID="pnedit" CssClass="modalPopup" Style="display: block;width:525px"> 

     ***Some Code*** 

     </asp:Panel> 

В стороне сервера код для EditUser_C licked event У меня есть следующее:

protected void EditUser_Clicked(object sender, EventArgs e) 
    { 
     ImageButton btndetails = sender as ImageButton; 
     GridViewRow row = (GridViewRow)btndetails.NamingContainer; 
     lblId.Text = GridView1.DataKeys[row.RowIndex].Value.ToString(); 
     name0.Text = row.Cells[1].Text; 
     desig0.Text = row.Cells[2].Text; 
     dob0.Text = row.Cells[3].Text; 
     email0.Text = row.Cells[4].Text; 
     country0.Text = row.Cells[5].Text; 
     city0.Text = row.Cells[6].Text; 
     add0.Text = row.Cells[7].Text; 
     hq0.Text = row.Cells[8].Text; 
     rbtnListGender0.Text = row.Cells[9].Text; 
     mobno0.Text = row.Cells[10].Text; 
     this.mpedit.Show(); 

    } 

Код работает без ошибок, но модальное всплывающее окно не видно. Пожалуйста, помогите мне найти мою ошибку.

+0

попробовать поставить свой код разметки т.е. вашей панели внутри UpdatePanel. –

+0

@ManishGoswami Я также попробовал UpdatePanel. – Kusum

ответ

0

3 способа Вы можете использовать Modal Popup с помощью панели обновления. Попробуйте любой из этих.

  1. Модальные Popup с UpdatePanel внутри PopupPanel

     <div style="background-color: White"> 
          <asp:Button runat="server" ID="button4" Text="Launch Modal Popup1" /> 
          <asp:Panel runat="server" ID="modalPanel3" Style="display: none"> 
           <asp:UpdatePanel runat="server" ID="updatePanel3"> 
            <ContentTemplate> 
             <asp:Label runat="server" ID="label4" Text="Label in UpdatePanel"></asp:Label> 
             <asp:Button runat="server" ID="Button5" Text="Click to Cause postback" OnClick="Button5_Click" /> 
            </ContentTemplate> 
           </asp:UpdatePanel> 
           <asp:Button runat="server" ID="Button6" Text="OK" /> 
           <asp:LinkButton runat="server" ID="LinkButton1" Text="Cancel" /> 
          </asp:Panel> 
          <ajaxToolkit:ModalPopupExtender runat="server" ID="modalPopupExtender3" TargetControlID="button4" 
           PopupControlID="modalPanel3" OkControlID="Button6" CancelControlID="LinkButton1" 
           BackgroundCssClass="modalBackground"> 
          </ajaxToolkit:ModalPopupExtender> 
         </div> 
    

2.Update панель, которая содержит ModalPopup и связанный с ним PopupPanel внутри него

<asp:UpdatePanel runat="server" ID="updatePanel2" UpdateMode="Conditional" ChildrenAsTriggers="true"> 
       <ContentTemplate> 
        <asp:Button runat="server" ID="button2" Text="Launch Modal Popup2" /> 
        <asp:Panel runat="server" ID="modalPanel2" BackColor="AliceBlue" Style="display: none"> 
         <asp:Label runat="server" ID="label5" Text="Label in UpdatePanel"></asp:Label> 
         <asp:Button runat="server" ID="postbackBtn" Text="Click to Cause postback" OnClick="postbackBtn_Click" /><br /> 
         <asp:Button runat="server" ID="cancelBtn2" Text="OK" /> 
         <asp:LinkButton runat="server" ID="okBtn2" Text="Cancel" /> 
        </asp:Panel> 
        <ajaxToolkit:ModalPopupExtender runat="server" ID="modalPopupExtender2" TargetControlID="button2" 
         PopupControlID="modalPanel2" OkControlID="okBtn2" CancelControlID="cancelBtn2" 
         BackgroundCssClass="modalBackground"> 
        </ajaxToolkit:ModalPopupExtender> 
       </ContentTemplate> 
      </asp:UpdatePanel> 

3.Update панель, которая содержит ModalPopup; его PopupPanel имеет UpdatePanel внутри него

<asp:UpdatePanel runat="server" ID="outerUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
       <Triggers> 
        <asp:AsyncPostBackTrigger ControlID="outerPanelTrigger" /> 
       </Triggers> 
       <ContentTemplate> 
        <asp:Button runat="server" ID="outerPanelTrigger" Text="OuterPanelTrigger" /><br /> 
        <br /> 
        <asp:Button runat="server" ID="button1" Text="Launch Modal Popup3" /> 
        <asp:Panel runat="server" ID="modalPanel1" BackColor="Pink" Style="display: none"> 
         <asp:UpdatePanel runat="server" ID="updatePanel1" ChildrenAsTriggers="true" UpdateMode="Conditional"> 
          <ContentTemplate> 
           <asp:Label runat="server" ID="label1" Text="Label in UpdatePanel"></asp:Label> 
           <asp:Button runat="server" ID="updateLabel" OnClick="updateLabel_Click" Text="Click to Cause postback" /> 
          </ContentTemplate> 
         </asp:UpdatePanel> 
         <asp:Button runat="server" ID="okBtn" Text="OK" /> 
         <asp:LinkButton runat="server" ID="cancelBtn" Text="Cancel" /> 
        </asp:Panel> 
        <ajaxToolkit:ModalPopupExtender runat="server" ID="modalPopupExtender1" TargetControlID="button1" 
         PopupControlID="modalPanel1" OkControlID="okBtn" CancelControlID="cancelBtn" 
         BackgroundCssClass="modalBackground"> 
        </ajaxToolkit:ModalPopupExtender> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
+0

Я также использовал Trigger, для меня это тоже не работает. – Kusum

+0

@ Kusum проверить мой ответ на обновление, это наверняка поможет вам –

+0

Спасибо, что использовал все ваши 3 концепции в моем коде, но не преодолел мою проблему. Так что помогите мне найти ошибку. – Kusum

Смежные вопросы