C# 如何使用DropDownList.text进行选择

C# 如何使用DropDownList.text进行选择,c#,asp.net,c#-4.0,C#,Asp.net,C# 4.0,我正在处理一个Asp.NET项目,我正在尝试使用文本属性设置下拉列表的选定值。例如,我在下拉列表中有一个项目,文本为test。我可以通过编程将其设置为selecteditem,方法是Text?。我正在使用以下代码,但不起作用 protected void Page_Load(object sender, EventArgs e) { string t = "test"; drpFunction.Text = t; } 但它不起作用。有什么建议吗?这可能会对你有所帮助 publ

我正在处理一个Asp.NET项目,我正在尝试使用文本属性设置下拉列表的选定值。例如,我在下拉列表中有一个项目,文本为
test
。我可以通过编程将其设置为
selecteditem
,方法是
Text
?。我正在使用以下代码,但不起作用

protected void Page_Load(object sender, EventArgs e)
{
    string t = "test";
    drpFunction.Text = t; 
}
但它不起作用。有什么建议吗?

这可能会对你有所帮助

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);
    }
}
用这个

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

这是正确的方法……

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

这在Web中有效

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);

这也可以正常工作。

设置itm.Selected=true;仅当您先drp.ClearSelection()时才有效。 我比较喜欢以下几点:

drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;
SelectedValue属性可用于通过将列表控件中的项设置为该项的值来选择该项。但是,如果所选值与下拉列表中的值列表不匹配,则在回发期间将引发异常

这是选择文本的更好方法。按照ioden的方式,它将显示一个错误

“无法在DropDownList中选择多个项目”


你应该解释你的答案,而不是仅仅发布一段代码。这对我很有效。在我的例子中,我有一个下拉列表,只允许选择单个项目。也许值得一提;如果当前选择了某个项目,则必须首先取消选择所选选项,否则将引发异常,指示无法选择多个项目。”YourDropDownstid.ClearSelection();'FindByText无效方法从
Net Framework 1.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);
drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;
protected void Page_Load(object sender, EventArgs e)
{
    string t = "test";
    drpFunction.SelectedValue = t;
}
drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;