2012-08-14 29 views
0

我想打開一個帶有控件的對話框,如果點擊ListView中的LinkBut​​ton,它必須打開。我希望使用CommandName和OnCommand Argumen。如何從ListView中打開關於LinkBut​​ton的ModalDialog

我的應用程序:

在我的應用程序,可一個TextBox用戶搜索其他用戶並列出用戶在ListView。如果用戶點擊LinkBut​​ton,他可以顯示更多關於一個用戶的信息。

enter image description here

如果我讓它約一個正常的按鈕,對話框打開,但如果我讓它關於與的CommandName LinkBut​​ton的就不要工作。

我的代碼:

<form id="form1" runat="server"> 

    <asp:HiddenField ID="hidForModel" runat="server" /> 

    <asp:scriptmanager id="ScriptManager1" runat="server"> 
     </asp:scriptmanager> 

     <asp:modalpopupextender id="ModalPopupExtender1" 
       runat="server" cancelcontrolid="btnCancel" 
       okcontrolid="btnOkay" targetcontrolid="hidForModel" 
       popupcontrolid="Panel1" popupdraghandlecontrolid="PopupHeader" 
       drag="true" backgroundcssclass="ModalPopupBG"> 

</asp:modalpopupextender> 

      <div class="popupConfirmation" id="Panel1" > 
       <asp:Panel runat="server" ID="PopupHeader" CssClass="modalPopup">Benutzerinformationen</asp:Panel> 
       <div class="Body"> 
        Hallo 
        <asp:Button id="btnOkay" runat="server" text="Speichern" /> 
        <asp:Button id="btnCancel" runat="server" text="Abbrechen" /> 
       </div> 

      </div> 


    <div class="header"> 
     <table id="SuchTabelle" runat="server" border="0"> 

      <tr> 
       <th><asp:Label ID="id_SearchUser" runat="server" Text="lblSearchUser"></asp:Label></th> 
       <th><asp:TextBox ID="txtBenutzer" runat="server" Width="250px"></asp:TextBox></th> 

      </tr> 
      <tr> 
       <th><asp:Label ID="id_location" runat="server" Text="lblLocation"></asp:Label></th> 
       <th><asp:DropDownList ID="dropWerk" runat="server" Width="250px" /></th> 
       <th><asp:Button ID="Button2" runat="server" Text="Suchen" 
           onclick="btnBenutzerSuchen_Click" Width="219px" /></th> 
      </tr> 

     </table> 

     <div id="bild"> 
      <asp:Image runat="server" ImageUrl="~/App_Theme/lw_logo.jpg" Height="58px" 
       Width="277px" /> 
     </div> 

     </div> 

     <div class="bodyList"> 



     <asp:ListView runat="server" ID="myListView"> 

     <LayoutTemplate> 
      <table id="UserTable" runat="server" border="0" width="800" cellpadding="0" cellspacing="0"> 
       <tr style="background-color:#E5E5FE" class="TableClass"> 
        <th id="th1" runat="server"><asp:LinkButton ID="lnkBenutzer" runat="server" >id_Benutzer</asp:LinkButton></th> 
        <th id="th2" runat="server"><asp:LinkButton ID="lnkemail" runat="server" >id_Email</asp:LinkButton></th> 
        <th id="th3" runat="server"><asp:LinkButton ID="lnkVorname" runat="server" >id_Vorname</asp:LinkButton></th> 
        <th id="th4" runat="server"><asp:LinkButton ID="lnkNachname" runat="server" >id_Nachname</asp:LinkButton></th> 
        <th id="th5" runat="server"><asp:LinkButton ID="lnkTelefon" runat="server" >id_Telefon</asp:LinkButton></th> 
       </tr> 
       <tr runat="server" id="ItemPlaceholder"> 
       </tr> 
      </table> 
     </LayoutTemplate> 

     <ItemTemplate> 

      <tr class="TableClass">  
       <td align="left" ><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label1" Text='<%# Eval("Benutzername") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label5" Text='<%# Eval("Telefonnummer") %>' runat="server" /></td> 

       <td align="left"><asp:Label ID="Label6" Text='<%# Eval("GUID") %>' runat="server" Visible="False" /></td> 

      </tr> 

     </ItemTemplate> 

     <AlternatingItemTemplate> 

      <tr class="TableClass"> 

       <td align="left" ><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label1" Text='<%# Eval("Benutzername") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td> 
       <td align="left"><asp:LinkButton CssClass="MyLink" OnCommand="Button1_Command" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label5" Text='<%# Eval("Telefonnummer") %>' runat="server" /></td> 

       <td align="left"><asp:Label ID="Label6" Text='<%# Eval("GUID") %>' runat="server" Visible="False" /></td> 

      </tr> 

     </AlternatingItemTemplate> 

     </asp:ListView> 

     <br /> 
     <br /> 

    </div> 

    </form> 

我的C#代碼:

protected void Button1_Command(object sender, CommandEventArgs e) 
     { 
      if (e.CommandName == "Select") 
      { 
       ModalPopupExtender1.Show(); // error :(

      } 

     } 

我ERRORTEXT:

System.InvalidOperationException:ListView控件 「myListView」 有一個SelectedIndexChanging,事件執行,這是沒有治療。

我需要幫助:(

更新:

protected void myListView_ItemCommand(object sender, ListViewCommandEventArgs e) 
     { 
      if (e.CommandName == "Select") 
      { 
       txtVorname.Text = "test"; 

       PopUpDialog.Show(); //<-- Here is the error 

      } 
     } 

我做一個斷點,看看...

enter image description here

塔拉索夫

回答

1

試試這個:

手柄 「ItemCommand」 「ListView控件」 的事件:

+0

沒有重載「myListView_ItemCommand 「同意與之相匹配的代表們System.Web.UI.WebControls.CommandEventHandler」 --- Zeile 99:'ID =「Label1」Text ='<%#Eval 「Benutzername」)%>'runat =「server」/> – Tarasov 2012-08-14 10:38:24

+0

您必須在ListView上添加事件(不在LinkBut​​ton上) ...... 2012-08-14 10:42:26

+0

哦,但如果我點擊LinkBut​​ton,我得到的錯誤... System.InvalidOperationException:ListView「myListView」有一個SelectedIndexChanging - 事件執行,這是沒有處理。 :( – Tarasov 2012-08-14 10:54:52

相關問題