我有一个页面,其中有一些文本框,每次加载页面时都会刷新(Page_Load)。还有一个加载时间太长的表(不能让它更快)。
我想在更新文本框后使用 UpdatePanel 加载该表。我可以使用 RegisterStartupScript (更新文本框后)来更新 UpdatePanel 。
但是,UpdatePanel 更新总是调用 Page_Load,所以文本框总是会再次更新。就像 UpdatePanel 没用一样。
如何解决?
我有一个页面,其中有一些文本框,每次加载页面时都会刷新(Page_Load)。还有一个加载时间太长的表(不能让它更快)。
我想在更新文本框后使用 UpdatePanel 加载该表。我可以使用 RegisterStartupScript (更新文本框后)来更新 UpdatePanel 。
但是,UpdatePanel 更新总是调用 Page_Load,所以文本框总是会再次更新。就像 UpdatePanel 没用一样。
如何解决?
在您的情况下,简单的解决方案是使用 asp.net ajax 计时器和更新面板。利用回发触发器,您就完成了。
在这里查看更多信息:http: //msdn.microsoft.com/en-us/library/bb386404 (v=vs.100).aspx
如果您需要更多帮助,请告诉我
您可以检查 Page_Load 以查看是否通过部分回发(即从更新面板)调用它,如果是,则不要更新文本框。
您可以检查它是否是 ASP.NET C# 代码隐藏中的回发,例如:
if ( ! Page.IsPostBack )
或者在客户端javascript中:
<script type="text/javascript">
function ClickHidenButton()
{
if (IsPostBack() != true)
document.getElementById("hiddenAsyncTrigger").click();
}
function IsPostBack() {
var ret = '<%= Page.IsPostBack%>' == 'True';
return ret;
}
</script>