Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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# ASP.NET2012 JQuery和更新面板不工作:一个绑定的列表框,并使用JQuery将结果填充到另一个列表框中_C#_Jquery_Asp.net_Listbox_Asp.net Ajax - Fatal编程技术网

C# ASP.NET2012 JQuery和更新面板不工作:一个绑定的列表框,并使用JQuery将结果填充到另一个列表框中

C# ASP.NET2012 JQuery和更新面板不工作:一个绑定的列表框,并使用JQuery将结果填充到另一个列表框中,c#,jquery,asp.net,listbox,asp.net-ajax,C#,Jquery,Asp.net,Listbox,Asp.net Ajax,我的列表框在UpdatePanel中。我使用此代码将数据从绑定的列表框传输到空的列表框,以获得结果。我正在使用下拉列表填充绑定列表框的结果。我在这里做错了什么: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(fu

我的列表框在UpdatePanel中。我使用此代码将数据从绑定的列表框传输到空的列表框,以获得结果。我正在使用下拉列表填充绑定列表框的结果。我在这里做错了什么:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
    $(function () {
        $("#lstright").bind("click", function lstRight() {
            var options = $("[id*=lstListTenants1] option:selected");
            for (var i = 0; i < options.length; i++) {
                var opt = $(options[i]).clone();
                $(options[i]).clone();
                $("[id*=lstListTenants2]").append(opt);
            }
        });

        $("#lstleft").bind("click", function lstLeft() {
            var options = $("[id*=lstListTenants2] option:selected");
            for (var i = 0; i < options.length; i++) {
                var opt = $(options[i]).clone();
                $(options[i]).remove();
                //$("[id*=lstEmailAddress]").append(opt);
            }
        });
    });

    var prm = Sys.WebForms.PageRequestManager.getInstance(); prm.add_endRequest(function (s, e) {
        $(function () {
            $("#lstright").bind("click", function lstRight() {
                var options = $("[id*=lstListTenants1] option:selected");
                for (var i = 0; i < options.length; i++) {
                    var opt = $(options[i]).clone();
                    $(options[i]).clone();
                    $("[id*=lstListTenants2]").append(opt);
                }
            });

            $("#lstleft").bind("click", function lstLeft() {
                var options = $("[id*=lstListTenants2] option:selected");
                for (var i = 0; i < options.length; i++) {
                    var opt = $(options[i]).clone();
                    $(options[i]).remove();
                    //$("[id*=lstEmailAddress]").append(opt);
                }
            });
        });
    });
</script>
我如何让jquery与我的UpdatePanel一起工作,使其正常工作

这是我的aspx代码:

            <asp:UpdatePanel runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <table>
        <tr>
            <td class="h4" colspan="2">
                <asp:Label ID="Label1" runat="server" Text="Name and Address of Property Where Incident Occurred:"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="h4">
                <asp:Label ID="lblPropName" runat="server" Text="Name:"></asp:Label>
            </td>
            <td>
                <asp:DropDownList ID="ddlPropName" runat="server" OnSelectedIndexChanged="ddlPropName_SelectedIndexChanged" AutoPostBack="True" Height="30px"></asp:DropDownList>
            </td>
        </tr>
        <tr>
            <td class="h4">
                <asp:Label ID="Label2" runat="server" Text="BU Number:"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="txtBUNum" runat="server"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="h4">
                <asp:Label ID="Label3" runat="server" Text="Address1:"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="txtAddress1" runat="server"></asp:TextBox>
        </tr>
        <tr>
            <td class="h4">
                <asp:Label ID="Label4" runat="server" Text="Address2:"></asp:Label>
            </td>
            <td>
                <asp:TextBox ID="txtAddress2" runat="server"></asp:TextBox>
            </td>
        </tr>
        </table>
    <table>
        <tr>
            <td class="h4">
                <asp:Label ID="lblListTenants" runat="server" Text="List of Affected Tenants:"></asp:Label>
            </td>
        </tr>
        <tr>
            <td>
                <asp:ListBox ID="lstListTenants1" runat="server" Height="100px" Width="288px" SelectionMode="Multiple"></asp:ListBox>
            </td>
            <td>
                <input id="lstLeft" type="button" value="<<" />
                <input id="lstRight" type="button" value=">>" />
                <%--<asp:Button ID="btnLeft" runat="server" Text="<<" OnClick="btnLeft_Click" />
                <asp:Button ID="btnRight" runat="server" Text=">>" OnClick="btnRight_Click" />--%>
            </td>
            <td>
                <asp:ListBox ID="lstListTenants2" runat="server" Height="100px" Width="288px" SelectionMode="Multiple"></asp:ListBox>
            </td>
        </tr>
    </table>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ddlPropName" EventName="SelectedIndexChanged" />
        </Triggers>
    </asp:UpdatePanel>

对于UpdatePanel,由于它们执行部分回发,jquery在部分回发后会松开其绑定。在这种情况下,需要在回发后重新绑定jquery函数

var prm=Sys.WebForms.PageRequestManager.getInstance; prm.add_endrequests函数,e{ //在这里调用你的函数
};

什么不起作用?你得到了什么结果?什么都没发生。我尝试用一个简单的按钮将结果添加到另一个列表框中,但什么也没发生。没有任何内容带到另一个列表框。回发后如何重新绑定jquery函数?我不知道该怎么做。这就是我面临的问题。我只是不知道怎么做。仍然不知道把var prm放在哪里。我应该把代码放在哪里?我已经尝试了几乎所有的方法,我想我可能只是把代码放错了地方。你能告诉我上面的代码放在哪里,这样它就知道回发后要重新绑定吗?在脚本块中你有你的主代码。在你的代码之后添加var prm,并在里面添加你的主代码。你能给我看一下代码吗?对不起,我对你的逻辑一无所知。var prm=Sys.WebForms.PageRequestManager.getInstance;prm.add_endrequests函数,e{///再次添加您的逻辑};