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

Posted

技术标签:

【中文标题】如何从后面的 asp.net 代码中获取 Select2 值【英文标题】:How to get Select2 value from asp.net code behind 【发布时间】:2016-05-21 23:14:50 【问题描述】:

我的下拉列表只有一个元素:

<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"

【问题讨论】:

当您使用select2 并更改select 的值时,原始select 的值更改为,因此您假设从#ddl 本身获得正确的值。 【参考方案1】:
string value = Empty.String;
foreach (ListItem item in ddl) 
    if ((item.Selected == true)) 
value = item.Value;
return;
    

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

【讨论】:

为什么投反对票?如果您不解释您认为错误的地方,我无法改进答案。

以上是关于如何从后面的 asp.net 代码中获取 Select2 值的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net 从 asp 中的文本框获取值到代码后面

使用 asp.net 从后面的代码中获取 Jquery 的 Select2 的多个选定值

从 ASP .Net Web 表单后面的代码中获取 Select2 选定值

如何使用 ASP.NET 从后面的代码中添加一个额外的 css 类?

如何从后面的代码中隐藏和显示 asp.net 中的 asp:buttons?

如何将 Dictionary<string, string> 变量从后面的代码传递到 asp.net?