C# Asp链接按钮文本取决于gridview中的复选框控件
是否可以根据gridview列中复选框的状态更改链接按钮的文本 视图:C# Asp链接按钮文本取决于gridview中的复选框控件,c#,asp.net,gridview,C#,Asp.net,Gridview,是否可以根据gridview列中复选框的状态更改链接按钮的文本 视图: 复选框中有一个事件可用于进行任何更改,它是CheckedChanged事件,将其添加到.cs文件中:(假设CheckBox1是必须添加到复选框中的id) 一位同事提出了以下解决方案: 受保护的void GridView1_RowDataBound(对象发送方,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow)
复选框中有一个事件可用于进行任何更改,它是CheckedChanged事件,将其添加到.cs文件中:(假设CheckBox1是必须添加到复选框中的id)
一位同事提出了以下解决方案: 受保护的void GridView1_RowDataBound(对象发送方,GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow)
{
var check = ((CheckBox)(e.Row.Cells[9].Controls[0])).Checked;
if (check == true)
{
LinkButton btn = (LinkButton)e.Row.Cells[1].FindControl("approveBtn");
btn.Text = "Mark Unapproved";
}
}
}
谢谢。但是,我的复选框上没有.Checked属性。我缺少什么吗?编辑了我的响应,但您可能必须对其进行自定义,除非我发现我无法在gridview中为复选框添加ID属性。我想我必须更改实现此功能的方式。抱歉,我对asp.net不是很在行。我有upd用额外的代码来解释这个问题,以便更好地了解我所拥有的。
protected void FireRowCommand(object sender, GridViewCommandEventArgs e)
{
var command = e.CommandName;
var clientId = Convert.ToInt32(e.CommandArgument);
switch (command)
{
case "ApproveCmd":
var service = new WholesaleClientService();
service.ToggleClientVerfication(clientId);
break;
}
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox chk = CheckBox1 as CheckBox;
if (chk != null && chk.Checked)
{
approveBtn.Text ="Mark Unapproved"
}
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
var check = ((CheckBox)(e.Row.Cells[9].Controls[0])).Checked;
if (check == true)
{
LinkButton btn = (LinkButton)e.Row.Cells[1].FindControl("approveBtn");
btn.Text = "Mark Unapproved";
}
}
}