我的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"
答案 0 :(得分:0)
string value = Empty.String;
foreach (ListItem item in ddl) {
if ((item.Selected == true)) {
value = item.Value;
return;
}
}
这将遍历每个项目,并在找到所选项时设置字符串值。