我有一个Asp.Net
Gridview
,绑定到代码隐藏文件中的DataSet
。这个gridview绑定发生在点击页面按钮上。但是点击该按钮,整个页面都会刷新......我在该页面上预先存在的Asp.Net图表因页面刷新而消失。
现在,我可以使用更新面板来避免这种情况..但是按钮和网格应该位于同一Div更新面板中。对我来说,按钮位于页面中的其他位置......并且网格位于底部的某个位置。
无论如何只重新加载网格而不会打扰页面中的其他元素..现在请不要使用updatePanel回答,因为我已经使用过了,你知道问题。如果您有更好的解决方案或AJAX
,请回答此问题。
非常感谢,
和Manish
答案 0 :(得分: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>
你有它 - 页面的一个部分中的一个按钮在页面的不同部分的更新面板中触发异步回发。
答案 1 :(得分:1)
现在,我可以使用更新面板来避免这种情况..但按钮和网格 应该在同一Div的更新面板中。对我来说,按钮是 页面中的其他位置......并且网格位于底部的某个位置
只需为更新面板使用触发器
</asp:UpdatePanel>
....
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>