C#演员问题 - 简洁

时间:2012-09-06 14:18:12

标签: c# .net

抱歉这个糟糕的问题标题。 有没有办法在一行上执行此操作:

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

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

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

还是需要两行?

谢谢!

2 个答案:

答案 0 :(得分:13)

我猜测你尝试了这个显而易见但却被绑定优先级抓住了。除非另有说明,否则方法和属性将在演员表之前完成。使用括号,您可以先使用括号,然后在现在的转换控件上调用该属性。

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

答案 1 :(得分:6)

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

((Button)Gridview.Cells[0].FindControl("controlname")).Enabled = true;