我正在尝试通过一些示例代码。 我遇到问题的代码是:
private ListControl GetSelectedList()
{
return (ListControl)FindControl(ddlControls.SelectedItem.Value);
}
ddlControls
是一个DropDownListBoxControl集合
ddlControls.SelectedItem.Value
返回什么(它是一个数值,但我不知道它代表什么)?
第二个问题:什么是return (ListControl)FindControl(ddlControls.SelectedItem.Value);
?
由于
答案 0 :(得分:2)
SelectedItem.Value
,顾名思义,是下拉列表中当前所选项目的值。例如,如果这是一个月份列表,而某人选择了“九月”,则此属性的值为“九月”。
什么是return(ListControl)FindControl(ddlControls.SelectedItem.Value);
FindControl
是一种按ID查找控件的方法。使用之前的示例,它将尝试查找名为“September”的控件。开头的(ListControl)
是 cast ; GetSelectedList()
方法隐含地假设您可以从ddlControls
获得的每个可能答案都是另一个ListControl
的名称。 (根据具体情况,这可能不是一个好主意。)
然后返回结果 - 即,其id与ddlControls
中当前所选值相同的控件 - 这是GetSelectedList()
的结果。
答案 1 :(得分:1)
DropDownList Class可以回答第一个问题。特别是,它链接到ListControl.SelectedItem,其定义为:
如果列表控件仅允许单个选择,请使用此属性获取所选项目的各个属性。如果列表控件允许多个选择,请使用此属性获取从列表控件中选择的最低索引项的属性。
同样,Control.FindControl给出了第二个问题的答案。它被定义为:
在当前命名容器中搜索具有指定id参数的服务器控件。