关于我不应该删除记录时的问题
如何在代码隐藏方法中访问 asp.net 按钮的“文本”?
这是按钮的样子:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
<ContentTemplate>
<asp:Button ID="HiddenButton" Text="" runat="server" OnClick="Deleting_Click" />
这是我背后的代码:
protected void Deleting_Click(object sender, EventArgs e)
{
我已经尝试过:
HiddenButton.Text = Request.Form["HiddenButton"].ToString();
和
Request["__EVENTARGUMENT"];
但是没有任何效果,有人可以告诉我正确的方向吗?
编辑
我可以以任何方式使用它吗?但不确定:
$(document).ready(function () {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
});
更新
实际发生的是,当用户单击 GridView 中的删除链接按钮时,会发生,
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton link = e.Row.Cells[4].Controls[2] as LinkButton;
if(link.Text == "Delete")
link.OnClientClick = "return ConfirmationBox("+ ((DataRowView)e.Row.DataItem)["userID"].ToString() +")";
}
}
现在在 JS 中,我正在捕获显示消息框并始终返回 false 的操作,但是我正在设置隐藏按钮的文本,以便我可以将其发送到代码中的方法,以便使用 UserID 删除记录
function ConfirmationBox(userID)
{
var elem = document.getElementById('<%= HiddenButton.ClientID %>');
elem.value = userID;
$.blockUI({ message: $('#question'), css: { width: '275px' }
});
return false;
}
现在我得到了我需要的 ID,可以让用户选择是或否,如果用户点击是,就会发生这种情况,
$('#yes').click(function() {
$.unblockUI();
// $('<%= HiddenButton.ClientID %>').trigger('click');
__doPostBack('<%=HiddenButton.ClientID %>', "");
});