9

我正在开发一个 Asp.NET 项目,我正在尝试使用文本属性设置下拉列表的选定值。例如,我在下拉列表中有一个带有文本的项目test。我可以以编程方式将其设置selecteditemText?我正在使用以下代码,但无法正常工作。

protected void Page_Load(object sender, EventArgs e)
{
    string t = "test";
    drpFunction.Text = t; 
}

但不工作。有什么建议么 ?

4

8 回答 8

29
 string t = "test";
 drpFunction.ClearSelection();
 drpFunction.Items.FindByText(t).Selected = true;
于 2012-04-20T07:31:41.297 回答
6

设置 itm.Selected = true; 仅当您首先使用 drp.ClearSelection() 时才有效。我更喜欢以下内容:

drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;
于 2014-08-19T20:02:36.903 回答
4
drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;

这是选择文本的更好方法。通过ioden的方式它会显示一个错误

“下拉列表中不能选择多个项目”

于 2016-03-07T18:18:17.957 回答
1

链接可能对您有所帮助

public static void SelectText(this DropDownList bob, string text)
{
    try
    {
        if (bob.SelectedIndex >= 0)
            bob.Items[bob.SelectedIndex].Selected = false;
        bob.Items.FindByText(text).Selected = true;
    }
    catch
    {
        throw new GenericDropDownListException("value", text);
    }
}
于 2012-04-20T07:30:48.327 回答
0

我认为SelectedValue属性应该可以满足您的需要。

于 2012-04-20T07:34:15.240 回答
0
protected void Page_Load(object sender, EventArgs e)
{
    string t = "test";
    drpFunction.SelectedValue = t;
}

SelectedValue 属性可用于通过设置项目的值来选择列表控件中的项目。但是,如果所选值与下拉列表中的值列表不匹配,则在回发期间将引发异常。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.selectedvalue(v=vs.110).aspx

于 2014-08-19T22:31:05.537 回答
-1

用这个...

protected void Page_Load(object sender, EventArgs e)
{
    string t = "test";
    drpFunction.SelectedItem.Text = t;
}

或者

protected void Page_Load(object sender, EventArgs e)
{
    string t = "test";
    drpFunction.SelectedItem.Value = t;
}

这是正确的方法......

于 2012-04-20T07:34:09.373 回答
-1

这适用于网络

ListItem li=new ListItem(); 

li.Text="Stringxyz";
li.Value="Stringxyz";       // Create object of item first and find its index.

DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(li);

这也很好用。

于 2014-01-09T06:02:49.560 回答