How to programmatically set SelectedValue of Dropdownlist when it is bound to XmlDataSource

主宰稳场 提交于 2019-11-27 23:03:05

问题


I'm using XmlDataSource as the datasource for a dropdownlist.

Now I want to set the SelectedValue of the drop down when the page initially loads. I have tried the OnDataBound event of the drop down in which I could see the total items. But setting the SelectedValue didn't work. InOnDataBinding event, I couldn't even see the total items probably because the list isn't bound yet?

How can I set the selected index based on a value?


回答1:


This seems to work for me.

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DropDownList1.DataBind(); // get the data into the list you can set it
            DropDownList1.Items.FindByValue("SOMECREDITPROBLEMS").Selected = true;
        }
    }



回答2:


DropDownList1.Items.FindByValue(stringValue).Selected = true; 

should work.




回答3:


This is working code

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            { 
                    DropDownList1.DataTextField = "user_name";
                    DropDownList1.DataValueField = "user_id";
                    DropDownList1.DataSource = getData();// get the data into the list you can set it
                    DropDownList1.DataBind();

    DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText("your default selected text"));
            }
        }



回答4:


Have you tried, after calling DataBind on your DropDownList, to do something like ddl.SelectedIndex = 0 ?



来源:https://stackoverflow.com/questions/5121639/how-to-programmatically-set-selectedvalue-of-dropdownlist-when-it-is-bound-to-xm

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!