1

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>

Selected="true"ASP.netで言う代わりに、 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);
}
4

3 に答える 3

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;
于 2013-01-18T10:25:06.393 に答える
0

この方法で選択することもできます。

if (ddl.Items.FindByValue("value") != null && !string.IsNullOrEmpty("value"))
{
  ddl.Items.FindByValue("value").Selected = true;
}
于 2013-01-18T10:26:04.187 に答える
0
DropDownList1.SelectedValue = "value";

Or

DropDownList1.SelectedIndex= 1;
于 2013-01-18T10:15:32.583 に答える