我如何访问asp.net按钮's "文本"在代码隐藏方法中
本文关键字:quot 文本 代码 方法 隐藏 访问 asp 按钮 net 何访问 | 更新日期: 2023-09-27 18:11:52
关于我在不应该删除记录时删除记录的问题't
我如何访问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中的delete linkbutton时,这会发生,
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 %>', "");
});
您可以将sender
转换为按钮并从中获取信息。
protected void Deleting_Click(object sender, EventArgs e)
{
Button btn = (Button) sender;
var text = btn.Text;
}
当选择(Cast)object
vs object as object
时,请参见直接铸造vs 'as'运营商吗?
更新2
当你想通过JavaScript传递一些参数到你的代码时,你可以通过EVENTARGUMENT
所以当调用__doPostBack('','');
时你可以在这里设置它。在您的情况下,您需要将代码更新为;
__doPostBack('<%=HiddenButton.ClientID %>', 'Your Argument Here');
然后在Deleting_Click
方法中,您可以获得参数;
string parameter = Request["__EVENTARGUMENT"];