抱歉这个糟糕的问题标题。 有没有办法在一行上执行此操作:
Button button = (Button)Gridview.Cells[0].FindControl("controlname");
button.Enabled = (some boolean);
例如,vb中的直播将允许:
DirectCast(Gridview.Cells(0).FindControl("controlname"), Button).Enabled = (some boolean value)
还是需要两行?
谢谢!
答案 0 :(得分:13)
我猜测你尝试了这个显而易见但却被绑定优先级抓住了。除非另有说明,否则方法和属性将在演员表之前完成。使用括号,您可以先使用括号,然后在现在的转换控件上调用该属性。
((Button)Gridview.Cells[0].FindControl("controlname")).Enabled = (some boolean);
答案 1 :(得分:6)
只需将原始表达式括在括号中:
((Button)Gridview.Cells[0].FindControl("controlname")).Enabled = true;