DropDownList将所选项设置为true

时间:2013-01-18 10:10:20

标签: c# asp.net

我在ASP.net中添加了DropDownList。

<asp:DropDownList  ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" > 
<asp:ListItem Text="Name" Value="jsh" Selected="true" /> 
<asp:ListItem Text="hhh" Value="sds"/> 
</asp:DropDownList>

而不是在ASP.net中说Selected="true"我想在

中使用C#设置所选项目
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{
    DropDownList1 // THE SELECTED ITEM NEEDS TO BE SET TO TRUE
    Response.Redirect(Request.RawUrl);
}

更新

<asp:DropDownList  ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" OnTextChanged="DropDownList1_onChanged"> 

</asp:DropDownList>

C#

protected void Page_Load(object sender, EventArgs e)
{

    if(!Page.IsPostBack)
{
    DropDownList1.Items.Add(new ListItem("En", "en-US"));
    DropDownList1.Items.Add(new ListItem("Fr", "fr-FR"));
}

}

//我还复制了InitializeCulture()

protected override void InitializeCulture() 
{

string Kultur = "en-US"; 
if (Session["lang"] != null)
{


    Kultur = Session["lang"].ToString();
}


this.UICulture = Kultur;
this.Culture = Kultur;
base.InitializeCulture();


}

//

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{
DropDownList1.Items.FindByValue(DropDownList1.SelectedValue).Selected = true;
  Response.Redirect(Request.RawUrl);
}

3 个答案:

答案 0 :(得分:4)

实际上,你的问题没有意义。如果用户选择了它,则它已被选中。刷新页面时,DropDownList1再次加载值。因此DropDownList1所选项目将丢失

你可以这样做,

aspx档案

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
    </asp:DropDownList>

aspx.cs档案

    protected void Page_Load(object sender, EventArgs e)
    {
        if(!Page.IsPostBack)
        {
            DropDownList1.Items.Add(new ListItem("Name", "jsh"));
            DropDownList1.Items.Add(new ListItem("hhh", "sds"));
        }
    }    

下面的代码是选择项目

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

DropDownList1.Items.FindByText(DropDownList1.SelectedItem.Text).Selected = true;

DropDownList1.SelectedItem.Selected = true;

答案 1 :(得分:0)

DropDownList1.SelectedValue = "value";

Or

DropDownList1.SelectedIndex= 1;

答案 2 :(得分:0)

你也可以这样做选择。

if (ddl.Items.FindByValue("value") != null && !string.IsNullOrEmpty("value"))
{
  ddl.Items.FindByValue("value").Selected = true;
}