【发布时间】:2011-12-11 15:36:36
【问题描述】:
我希望有人可以帮助我了解我过去几天一直在努力解决的这个问题。我一直在 ListViews 之外使用 AJAX Toolkit ModalPopupExtender 非常好,但由于某种原因,我似乎无法理解为什么这段代码在 ListView 项目模板中不起作用。
基本上,我想要实现的是:通过 ListView 向用户呈现一些数据行,其中每一行显示一个带有文本“删除”的 LinkButton。我希望用户能够单击此链接,然后会弹出一个模式对话框并询问他们是否确定要这样做。如果他们单击确定按钮,它应该触发一个事件并执行必要的数据库工作并重新加载页面......如果没有,取消回发请求并清除对话框。
使用下面的代码,我已经通过 ModalPopupExtender 的 targetid 属性成功连接到链接按钮,因此对话框确实弹出。但是,ok 按钮不会触发我编写的事件(我在事件的代码隐藏中放置了一个断点,它没有被触及)。此外,取消按钮不能正常工作,因为它通常会在列表视图控件之外。
我必须在这里遗漏一些相当基本的东西,但我不知所措 - 任何帮助将不胜感激。如果这不可行,我当然愿意接受其他方法。
<ItemTemplate>
<tr>
<td align="center">
<asp:Label runat="server" ID="lblUserID" Text='<%# Eval("USERID") %>' Visible="false" />
<asp:LinkButton runat="server" ID="lnkRemoveUser" Text="Remove" />
<asp:Panel ID="removeUserModalPanel" runat="server">
<div class="popup">
<div class="loginTitleBar" id="Div1">
Remove User
</div>
<div class="popupBody">
<p>
Are you sure you want to remove this user?
</p>
</div>
<div class="popupControls">
<asp:Button id="btnRemoveUserOkay" runat="server" type="button" Text="Remove User"
onclick="btnRemoveUserOkay_Click" />
<input id="btnRemoveUserCancel" type="button" value="Cancel" />
</div>
</div>
</asp:Panel>
<asp:ModalPopupExtender
ID="removeUserModalPopupExtender"
runat="server"
BackgroundCssClass="ModalPopupBG"
CancelControlID="btnRemoveUserCancel"
TargetControlID="lnkRemoveUser"
PopupControlID="removeUserModalPanel"
drag="false" >
</asp:ModalPopupExtender>
</td>
<td>
<asp:LinkButton ID="lnkUserName" runat="server" Text='<%# Eval("USERNAME") %>' />
</td>
<td>
<asp:Label ID="lblFirstName" runat="server" Text='<%# Eval("FIRSTNAME") %>' />
</td>
<td>
<asp:Label ID="lblLastName" runat="server" Text='<%# Eval("LASTNAME") %>' />
</td>
<td>
<asp:Label ID="lblEmailAddress" runat="server" Text='<%# Eval("EMAILADDRESS") %>' />
</td>
</tr>
</ItemTemplate>
【问题讨论】:
标签: c# asp.net ajax listview ajaxcontroltoolkit