1

对不起,糟糕的问题标题。有没有办法在一条线上做到这一点:

Button button = (Button)Gridview.Cells[0].FindControl("controlname");
button.Enabled = (some boolean);

例如,vb 中的直接广播将允许:

DirectCast(Gridview.Cells(0).FindControl("controlname"), Button).Enabled = (some boolean value)

还是需要在两条线上?

谢谢!

4

2 回答 2

13

我猜你尝试了明显的但被绑定优先级抓住了。除非另有说明,否则方法和属性将在强制转换之前完成。使用括号,您可以使其先进行强制转换,然后在 now cast 控件上调用该属性。

((Button)Gridview.Cells[0].FindControl("controlname")).Enabled = (some boolean);
于 2012-09-06T14:19:02.763 回答
6

只需将您的原始表达式括在括号中:

((Button)Gridview.Cells[0].FindControl("controlname")).Enabled = true;
于 2012-09-06T14:19:27.837 回答