我有一个Repeater Control
,里面有各种按钮。
单击该按钮时,它需要自行禁用,因此无法再次单击该按钮。 工作
然而,当我点击该按钮时,它需要启用任何其他按钮,但它。
所以,当我点击它时,它需要禁用。当我点击另一个按钮时,必须启用前一个按钮,并且必须禁用该按钮。
所以我试过了:
Button btnLoad = (Button)e.Item.FindControl("btnLoad");
foreach (Button b in e.Item.Controls.OfType<Button>().Select(c => c).Where(b => b != btnLoad))
{
b.Enabled = true;
}
btnLoad.Text = "Currently Viewing";
btnLoad.Enabled = false;
但它不起作用。根据我放置它的位置,它要么启用所有按钮(但仍然更改其文本),要么根本不做任何事情。
我需要做些什么来完成这项工作?
修改:代码可在此处找到:
protected void rptPdfList_ItemCommand(object source, RepeaterCommandEventArgs e)
这就是我使用Button btnLoad = (Button)e.Item.FindControl("btnLoad");
的原因。
该方法见于:
switch (e.CommandName)
{
case "LoadDoc":
//Above code
break;
}
答案 0 :(得分:0)
在循环中尝试一个简单的if语句,如下所示
Button btnLoad = (Button)e.Item.FindControl("btnLoad");
foreach (Control c in e.Item.Controls)
{
if (b is Button)
{
if(b == btnLoad)
{
b.Enabled = false;
}
else
{
b.Enabled = true;
}
}
}
答案 1 :(得分:0)
假设您想要Button
的{{1}} - 事件处理程序中的代码:
Click