【问题标题】:how to select with DropDownList.text如何使用 DropDownList.text 进行选择
【发布时间】:2012-04-20 07:29:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net c#-4.0


    【解决方案1】:
     string t = "test";
     drpFunction.ClearSelection();
     drpFunction.Items.FindByText(t).Selected = true;
    

    【讨论】:

    • 这对我有用。就我而言,我有一个下拉菜单,只允许选择一个项目。可能值得一提;如果当前选择了一个项目,则必须先取消选择已选择的选项,否则将引发异常,指示无法选择多个项目。 'YourDropDownListId.ClearSelection();'
    • FindByText 方法无效
    • Net Framework 1.1开始有效:docs.microsoft.com/en-us/dotnet/api/…
    【解决方案2】:

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

    drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;
    

    【讨论】:

      【解决方案3】:
      drpFunction.SelectedValue = drpFunction.Items.FindByText(t).Value;
      

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

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

      【讨论】:

        【解决方案4】:

        这个Link 可能会帮助你

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:
            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

            【讨论】:

            • 你应该解释你的答案,而不是仅仅发布一段代码。
            【解决方案7】:

            使用这个...

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

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

            【讨论】:

              【解决方案8】:

              这适用于网络

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

              这也很好用。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-06-19
                • 2012-04-14
                • 2014-11-15
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多