如何从asp.net代码中获取Select2值

时间:2016-02-11 09:07:11

标签: javascript c# jquery asp.net jquery-select2

我的Dropdownlist只有一个元素:

<asp:DropDownList CssClass="select2" ID="ddl" runat="server" />

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        ddl.Items.Add(new ListItem("text", "value"));
    }
}

我的ddl也从ajax调用中获取数据。 当我试图从后面的代码中获取更改的值时,它仍会返回第一个元素的值。

 string value = ddl.SelectedValue; //I got data from ajax call, changed value but it still returns first "value"

但是从javascript我可以得到更改的值,所以现在我的ddl中的每个更改都将值复制到隐藏字段,这样我就可以从代码隐藏获得价值

$("#ddl").change(function () {
   $('#hidden_for_ddl').val($("#ddl").val());
});

最后我可以从代码中获取选定的值,是否更容易解决我的问题?

string value = hidden_for_ddl.Value; //returns "selected value"

1 个答案:

答案 0 :(得分:0)

string value = Empty.String;
foreach (ListItem item in ddl) {
    if ((item.Selected == true)) {
value = item.Value;
return;
    }
}

这将遍历每个项目,并在找到所选项时设置字符串值。