列表框项目总是在服务器端获得0计数

时间:2014-03-06 05:43:51

标签: c# jquery asp.net listbox

我有两个listboxs和两个buttonsbuttons会将1个项目从listbox1转移到listbox2

$(function () {
    $("#btnLeft").bind("click", function () {
        var options = $("[id*=listBoxRight] option:selected");
        for (var i = 0; i < options.length; i++) {
            var opt = $(options[i]).clone();
            $(options[i]).remove();
            $("[id*=listBoxLeft]").append(opt);
            return false;
        }
    });
    $("#btnRight").bind("click", function () {
        var options = $("[id*=listBoxLeft] option:selected");
        for (var i = 0; i < options.length; i++) {
            var opt = $(options[i]).clone();
            $(options[i]).remove();
            $("[id*=listBoxRight]").append(opt);
            return false;
        }
    });
});

此代码正在运行,并且正在客户端传输项目。我的问题是当我在服务器端得到值时,我得到0计数。

是否可以使用listbox2

绑定jQuery的新项目

修改

我正在使用用户控件:

该控件为ShutterUserControl,其中包含两个listboxs

2 个答案:

答案 0 :(得分:1)

使你的列表框运行服务器。

<select id="listboxRight" runat="server">
      <option>text1</option>
      <option>text2</option>
</select>

然后在Request.form中使用以下内容。对于上面的JavaScript,您需要使用像<%=listBoxRight.ClientID%>这样的ClientID。

然后你发现通过双向访问的用户控件是Request.Form

Request.Form["YourUserControlName$listboxRight"]

另一个是

 var listBox = YourUserControlName.FindControl("listboxRight");

希望这会有所帮助。

答案 1 :(得分:0)

尝试Request.Forms["controlName"]获取dropdown列表中的新值。