1

更新パネルにあるにもかかわらず、ページを更新する更新パネルで次のJavaScript関数を呼び出します!!

<script type="text/javascript" language="javascript">
    function get_emp_num(source, eventArgs) {
        var txt_emp_num = "<%= txt_RequestEmpNum.ClientID %>";
        document.getElementById(txt_emp_num).value = eventArgs.get_value();
        __doPostBack("<%=txt_RequestEmpNum.ClientID %>");
    }

    function get_person_num(source, eventArgs) {
        var txt_person_num = "<%= txt_RequestPersonNum.ClientID %>";
        document.getElementById(txt_person_num).value = eventArgs.get_value();
        __doPostBack("<%=txt_RequestPersonNum.ClientID %>");
    }

</script>

このスクリプトで更新パネルの部分的なポスト バック動作を変更したくありません。その方法を教えてください。

4

2 に答える 2

1

ポストバック コントロールは何ですか?更新パネルで非同期トリガーとして設定されていますか? あなたが投稿したコードに基づいて、txt_RequestEmpNum と txt_RequestPersonNum がテキスト ボックスであると思われます。これらのコントロールは、ポストバックをネイティブにサポートしていません。必要なのは、JavaScript が「クリック」してポストバックを送信するページ上の非表示のボタンです。このようなもの:

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
    <ContentTemplate>
        <asp:TextBox ID="txt_RequestEmpNum" runat="server" />
        <asp:TextBox ID="txt_RequestPersonNum" runat="server" />
    </ContentTemplate>
</asp:UpdatePanel>
<div style="display: none;">
    <asp:Button id="Button1" runat="server" OnClick="Button1_Click" />
</div>

<script>
    function get_emp_num(source, eventArgs) {
        // I am unsure what your intent was with the code here so I removed it
        __doPostBack("<%=Button1.UniqueID %>", "");
    }

    function get_person_num(source, eventArgs) {
        // I am unsure what your intent was with the code here so I removed it
        __doPostBack("<%=Button1.UniqueID %>", "");
    }

    function refresh_using_jquery() {
        __doPostBack($('#<%=Button1.ClientID %>').attr('name'), '');
    }
</script>
于 2013-02-26T19:14:10.137 に答える
0

フル ページ ポストバックを実行したくない場合は、AJAX を使用するソリューションを実装することをお勧めします。jQuery を使用すると、AJAX の使用がいくらか容易になるため (私の意見ではとにかく)、私は jQuery を使用します。

于 2013-02-26T17:05:07.513 に答える