0

コード ビハインド ファイルで にAsp.Net Gridviewバインドされている があります。DataSetこのグリッドビュー バインディングは、ページのボタンをクリックすると発生します。しかし、そのボタンをクリックすると、ページ全体が更新されます...そして、そのページに既存のAsp.Netチャートがあり、ページの更新により消えます。

これで、更新パネルを使用してこれを回避できます..しかし、ボタンとグリッドは更新パネルの同じ Div にある必要があります。私にとって、ボタンはページの別の場所にあり、グリッドは下部のどこかにあります。

とにかく、ページ内の他の要素に影響を与えずにグリッドのみをリロードする方法はありますか.. 今は updatePanel で答えないでください。より良い解決策がある場合、または を使用している場合は、これに答えてくださいAJAX

どうもありがとう、

マニッシュ

4

2 に答える 2

1

これで、更新パネルを使用してこれを回避できます..しかし、ボタンとグリッドは更新パネルの同じ Div にある必要があります。私にとって、ボタンはページの別の場所にあり、グリッドは下部のどこかにあります。

問題ない!

<script type="text/javascript">
    function click(id) {
        var btn = document.getElementById(id);
        btn.click();
    }
</script>

<asp:Button id="btnToClick" runat="server" Text="Click me!" 
   OnClientClick="javascript:click('<%=btnThatLoads.ClientId %>');return false" />

<asp:UpdatePanel id="upnl" runat="server">
    <ContentTemplate>
        //Your grid goes here

        <asp:Button id="btnThatLoads" runat="server" 
          onclick="loadGrid" style="display: hidden;" />
    </ContentTemplate>
</asp:UpdatePanel>

これで、ページの別の部分にある更新パネルで非同期ポストバックをトリガーするボタンがページの一部に表示されます。

于 2011-07-24T14:53:09.917 に答える
1

これで、更新パネルを使用してこれを回避できます..しかし、ボタンとグリッドは更新パネルの同じ Div にある必要があります。私にとって、ボタンはページのどこかにあります...そしてグリッドは一番下のどこかにあります

更新パネルにトリガーを使用するだけです

 </asp:UpdatePanel>
 ....
     <Triggers>
         <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
     </Triggers>
 </asp:UpdatePanel>
于 2011-07-24T21:17:50.373 に答える