通过示例代码工作

时间:2010-01-31 15:27:32

标签: c#

我正在尝试通过一些示例代码。 我遇到问题的代码是:

private ListControl GetSelectedList()
{
  return (ListControl)FindControl(ddlControls.SelectedItem.Value);
}

ddlControls是一个DropDownListBoxControl集合 ddlControls.SelectedItem.Value返回什么(它是一个数值,但我不知道它代表什么)?

第二个问题:什么是return (ListControl)FindControl(ddlControls.SelectedItem.Value);

由于

2 个答案:

答案 0 :(得分:2)

SelectedItem.Value,顾名思义,是下拉列表中当前所选项目的值。例如,如果这是一个月份列表,而某人选择了“九月”,则此属性的值为“九月”。

  

什么是return(ListControl)FindControl(ddlControls.SelectedItem.Value);

FindControl 是一种按ID查找控件的方法。使用之前的示例,它将尝试查找名为“September”的控件。开头的(ListControl) cast ; GetSelectedList()方法隐含地假设您可以从ddlControls获得的每个可能答案都是另一个ListControl的名称。 (根据具体情况,这可能不是一个好主意。)

然后返回结果 - 即,其id与ddlControls中当前所选值相同的控件 - 这是GetSelectedList()的结果。

答案 1 :(得分:1)

MSDN中的

DropDownList Class可以回答第一个问题。特别是,它链接到ListControl.SelectedItem,其定义为:

  

如果列表控件仅允许单个选择,请使用此属性获取所选项目的各个属性。如果列表控件允许多个选择,请使用此属性获取从列表控件中选择的最低索引项的属性。

同样,Control.FindControl给出了第二个问题的答案。它被定义为:

  

在当前命名容器中搜索具有指定id参数的服务器控件。