C# 模式弹出扩展程序Show()方法不起作用
我有一个带有链接按钮的列表视图。为了打开一个对话框,我使用带有CommanName的OnItemCommand方法 如果用户单击LinkButton,我希望它打开一个带有控件等的对话框,但每次我都会遇到相同的错误: System.InvalidOperationException:ListView myListView有一个 SelectedIndexChanging事件执行,未对其进行处理 我的代码:aspxC# 模式弹出扩展程序Show()方法不起作用,c#,asp.net,ajaxcontroltoolkit,modalpopupextender,linkbutton,C#,Asp.net,Ajaxcontroltoolkit,Modalpopupextender,Linkbutton,我有一个带有链接按钮的列表视图。为了打开一个对话框,我使用带有CommanName的OnItemCommand方法 如果用户单击LinkButton,我希望它打开一个带有控件等的对话框,但每次我都会遇到相同的错误: System.InvalidOperationException:ListView myListView有一个 SelectedIndexChanging事件执行,未对其进行处理 我的代码:aspx ... <asp:HiddenField ID="hidForModel"
...
<asp:HiddenField ID="hidForModel" runat="server" />
<asp:scriptmanager id="ScriptManager1" runat="server">
</asp:scriptmanager>
<asp:modalpopupextender id="PopUpDialog"
runat="server" cancelcontrolid="btnCancel"
okcontrolid="btnOkay" targetcontrolid="hidForModel"
popupcontrolid="Panel1" popupdraghandlecontrolid="PopupHeader"
drag="true" backgroundcssclass="ModalPopupBG" >
</asp:modalpopupextender>
<div class="popupConfirmation" id="Panel1" runat="server" >
<asp:Panel runat="server" ID="PopupHeader" CssClass="modalPopup">Benutzerinformationen</asp:Panel>
<div class="Body">
Hallo
<asp:TextBox ID="txtVorname" runat="server"></asp:TextBox>
<asp:Button id="btnOkay" runat="server" text="Speichern" />
<asp:Button id="btnCancel" runat="server" text="Abbrechen" />
</div>
</div>
...
<asp:ListView runat="server" ID="myListView" OnItemCommand="myListView_ItemCommand">
<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" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label1" Text='<%# Eval("Benutzername") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" 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" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label1" Text='<%# Eval("Benutzername") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label2" Text='<%# Eval("eMail") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label3" Text='<%# Eval("Vorname") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" CommandName="Select" CommandArgument='<%# Container.DataItemIndex %>' ID="Label4" Text='<%# Eval("Nachname") %>' runat="server" /></td>
<td align="left"><asp:LinkButton CssClass="MyLink" 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>
...
c代码:
protected void myListView_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
txtVorname.Text = "test";
PopUpDialog.Show(); //<-- Here is the error
}
}
我可以使用按钮打开对话框进行测试,但不能使用LinkButton打开对话框,这是一个谜。您只需要在ListView中处理SelectedIndexChanged事件 加价
<asp:ListView runat="server" ID="myListView" OnItemCommand="myListView_ItemCommand"
OnSelectedIndexChanging="myListView_SelectedIndexChanging" >
ListView中的某些事件在触发时需要处理。如果这些事件试图触发,如单击命令名为Select的列表项触发SelectedIndexChangeing事件,但未对其进行处理,则会出现您提到的错误。您只需在ListView中处理SelectedIndexChangeing事件
protected void myListView_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
ModalPopupExtender popUp = (ModalPopupExtender)lvAlbum.FindControl("PopUpDialog");
popUp.Show();
}
}
加价
<asp:ListView runat="server" ID="myListView" OnItemCommand="myListView_ItemCommand"
OnSelectedIndexChanging="myListView_SelectedIndexChanging" >
ListView中的某些事件在触发时需要处理。如果这些事件试图触发,如单击命令名为Select的列表项触发SelectedIndexChangeing事件,但未处理这些事件,则会出现您提到的错误。不要使用命令文本Select。由于某些原因,它使弹出窗口不显示。
protected void myListView_ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (e.CommandName == "Select")
{
ModalPopupExtender popUp = (ModalPopupExtender)lvAlbum.FindControl("PopUpDialog");
popUp.Show();
}
}
例如,请执行以下操作:
if(e.CommandName == "ShowPopup")
这解决了我的问题。不要使用命令文本选择。由于某些原因,它使弹出窗口不显示。 例如,请执行以下操作:
if(e.CommandName == "ShowPopup")
这就解决了我的问题。谢谢:它有效,我需要很长时间才能找到这个解决方案:D.如果你读到了,你能给我一个链接到一个网站吗?它在那里用列表视图中的事件进行解释,因为我想让所有人都知道listview@Tarasov不客气!老实说,是获取ListView事件信息的最佳场所。尤其是靠近底部的部分标记了事件。它有一个表,列出了它们中的每一个以及它们所做的事情。需要注意的最重要的一点是,您得到的错误消息指出了您缺少的内容。它表示未处理SelectedIndexChanged事件;如果你看到了,你需要处理它。谢谢:它有效我需要这么长时间来解决这个问题:D.如果你读到了,你能给我一个链接到一个网站吗?它在哪里?用列表视图中的事件解释,因为我想让所有人都知道listview@Tarasov不客气!老实说,是获取ListView事件信息的最佳场所。尤其是靠近底部的部分标记了事件。它有一个表,列出了它们中的每一个以及它们所做的事情。需要注意的最重要的一点是,您得到的错误消息指出了您缺少的内容。它表示未处理SelectedIndexChanged事件;如果您看到了这一点,您需要处理它;使用AjaxControlToolkit添加名称空间;