我在SQL中有一个专栏:
状态
开 关闭
和Gridview with Boundfield value ='Status'
当用户选择一行并且Status == open时,它应该显示一个按钮。否则就是隐藏。
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
string y = Data.Rows[GridView1.SelectedIndex][5].ToString();
if (y == "open")
{
btnAccept.Visible = true;
}
else
{
btnAccept.Visible = false;
}
}
<asp:Button Text="Accept" OnClick="btnAccept_Click" Visible="false" ID="btnAccept" runat="server" />
答案 0 :(得分:0)
像这样修改你的代码
string y = GridView1.SelectedRow.Cells[5].Text;
答案 1 :(得分:0)
这可能是解决方案:
JSON.parse
答案 2 :(得分:0)
这是违反直觉的,但是在SelectedIndexChanged完成之后才会设置GridView1.SelectedRow。
此外,可见性与“启用”或“已禁用”按钮无关。 使用按钮的Enabled属性:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
GridView gv = (GridView) sender ;
btnAccept.Enabled = (gv.Rows[ gv.SelectedIndex ].Cells[5].Text == "open");
}
此外,如果您还没有,请考虑使用CSS设置禁用按钮:
input[type=button][disabled],
button[disabled]
{
cursor:not-allowed;
}