Ed *_*ehm 18 c# asp.net webforms
我有一个ASP.NET下拉列表,我通过数据绑定填充.我有与我想要选择的列表项目的显示文本相匹配的文本.我显然不能使用SelectedText(仅限getter)而且我不知道索引,所以我不能使用SelectedIndex.我目前正在通过遍历整个列表来选择项目,如下所示:
ASP:
<asp:DropDownList ID="ddItems" runat="server" />
Run Code Online (Sandbox Code Playgroud)
码:
ddItems.DataSource = myItemCollection;
ddItems.DataTextField = "Name";
ddItems.DataValueField = "Id";
foreach (ListItem item in ddItems.Items)
{
if (item.Text == textToSelect)
{
item.Selected = true;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在不迭代所有项目的情况下执行此操作?
kbr*_*ton 46
你可以试试:
ddItems.Items.FindByText("Hello, World!").Selected = true;
Run Code Online (Sandbox Code Playgroud)
要么:
ddItems.SelectedValue = ddItems.Items.FindByText("Hello, World!").Value;
Run Code Online (Sandbox Code Playgroud)
请注意,如果您不确定某个项目是否与您的显示文字相匹配,则可能需要检查FindByText()for 的结果null.
请注意,我在多选列表上使用第一种方法,例如CheckBoxList添加其他选择.我使用第二种方法来覆盖所有选择.
| 归档时间: |
|
| 查看次数: |
41213 次 |
| 最近记录: |