Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在列表框中移动项目并在服务器端捕获_C#_Jquery - Fatal编程技术网

C# 在列表框中移动项目并在服务器端捕获

C# 在列表框中移动项目并在服务器端捕获,c#,jquery,C#,Jquery,我正在尝试使用jQuery代码在两个列表框之间移动项目 function move_list_items(sourceid, destinationid) { $("#" + sourceid + " option:selected").appendTo("#" + destinationid); } //this will move all selected items from source list to destination list function move_list_

我正在尝试使用jQuery代码在两个列表框之间移动项目

function move_list_items(sourceid, destinationid) {
    $("#" + sourceid + "  option:selected").appendTo("#" + destinationid);
}

//this will move all selected items from source list to destination list
function move_list_items_all(sourceid, destinationid) {
    $("#" + sourceid + " option").appendTo("#" + destinationid);
}
我的列表框代码是这样的

<asp:ListBox ID="lstFirst" runat="server" Width="300px" Height="250px" SelectionMode="Multiple"></asp:ListBox>
    <tr>
        <td>
            <p align="center">
                <input id="btnRight" type="button" value=">" onclick="move_list_items('lstFirst','lstSecond');" />
            </p>
            <p align="center">
                <input id="btnLeft" type="button" value="<" onclick="move_list_items('lstSecond','lstFirst');" />
            </p>
            <p align="center">
                <input id="btnRightAll" type="button" value=">>" onclick="move_list_items_all('lstFirst','lstSecond');" />
            </p>
            <p align="center">
                <input id="btnLeftAll" type="button" value="<<" onclick="move_list_items_all('lstSecond,'lstFirst');" />
            </p>
        </td>
    </tr>
<asp:ListBox ID="lstSecond" runat="server" Width="300px" Height="250px" SelectionMode="Multiple"></asp:ListBox>


项目移动正常,但我无法使用lstSecond.items从lstSecond列表框访问移动的项目。计数为零。如何从codebehind访问添加的项目以进行保存?

问题是服务器端控件(ListBox)不会从客户端html读取其状态,它总是在服务器端填充(从标记或代码隐藏)


因此,实现目标的一种方法是在jQuery更改项目后,立即将项目(每个列表框的)存储在客户端隐藏字段中。然后在服务器端,您需要根据隐藏字段(如果有)中显示的值填充列表框。

您可以为此发布一些asp吗?您可能需要元素上的runat=“server”标记才能使codebehind使用它。谢谢。。。很有道理!我有点期待,但我真的很喜欢jQuery代码,但隐藏字段解决方案对我没有吸引力。我将使用服务器端代码,但使用updatepanel以避免回发体验。