我在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"
我想在
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);
}
答案 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;
}