c#带有计时器页面的updatepanel#u加载
我现在正在试验一些AJAX。我有一个自定义控件,它出现在我的母版页上,其中有一个更新面板和一个计时器。计时器启动,面板更新,一切都很好。除了有些操作我不希望每次刷新时都执行。似乎整个页面生命周期都是在每次刷新时发生的。我想设置一些变量,并在刷新时保留它们的值。有没有办法让它只执行timer_tick调用中的内容?UpdatePanels总是强制刷新整个页面。如果您只希望处理页面的某一部分(并且是固定大小),那么可以尝试使用iframec#带有计时器页面的updatepanel#u加载,c#,asp.net,ajax,asp.net-ajax,C#,Asp.net,Ajax,Asp.net Ajax,我现在正在试验一些AJAX。我有一个自定义控件,它出现在我的母版页上,其中有一个更新面板和一个计时器。计时器启动,面板更新,一切都很好。除了有些操作我不希望每次刷新时都执行。似乎整个页面生命周期都是在每次刷新时发生的。我想设置一些变量,并在刷新时保留它们的值。有没有办法让它只执行timer_tick调用中的内容?UpdatePanels总是强制刷新整个页面。如果您只希望处理页面的某一部分(并且是固定大小),那么可以尝试使用iframe 或者,如果要保存变量,可以将它们置于ViewState或Se
或者,如果要保存变量,可以将它们置于ViewState或SessionState中,以便它们在回发之间持久化更新窗格始终强制刷新整个页面。如果您只希望处理页面的某一部分(并且是固定大小),那么可以尝试使用iframe
或者,如果要保存变量,可以将其置于ViewState或SessionState中,以便在回发之间保持这些变量您可以查看页面加载事件中的请求[“\u EVENTTARGET”],以查看是什么控件导致回发。如果是定时器控制,跳出该功能 假设您的计时器名为“刷新计时器”:
您可以查看页面加载事件中的请求[“\uu EVENTTARGET”],以查看是什么控件导致了回发。如果是定时器控制,跳出该功能 假设您的计时器名为“刷新计时器”:
不确定AJAX.Net回发邮件是什么样子的,但我通常通过检查回发邮件来保护我的其他控件和内容
protected void Page_Load(object sender, EventArgs e)
{
// if its a post back then my controls should already be setup...
if (!Page.IsPostBack)
{
InitControlData();
}
}
然后它就应该通过你的事件处理了
protected void timer_tick(object sender, EventArgs e)
{
// Do my Ajaxy work~
}
不确定AJAX.Net回发邮件是什么样子的,但我通常通过检查回发邮件来保护我的其他控件和内容
protected void Page_Load(object sender, EventArgs e)
{
// if its a post back then my controls should already be setup...
if (!Page.IsPostBack)
{
InitControlData();
}
}
然后它就应该通过你的事件处理了
protected void timer_tick(object sender, EventArgs e)
{
// Do my Ajaxy work~
}
这在UpdatePanels中是不可能的。。。整个页面将贯穿整个生命周期。正如其他人提到的,您可以通过使用IsPostBack或ScriptManager的IsInAsyncPostBack来限制处理,但最终这对于复杂页面来说并不是一个很好的解决方案 但是,您可以使用页面方法在页面中只执行一个静态方法,但是您必须让Javascript自己调用并更新UI。以下是一些例子:
- 这在UpdatePanels中是不可能的。。。整个页面将贯穿整个生命周期。正如其他人提到的,您可以通过使用IsPostBack或ScriptManager的IsInAsyncPostBack来限制处理,但最终这对于复杂页面来说并不是一个很好的解决方案
但是,您可以使用页面方法在页面中只执行一个静态方法,但是您必须让Javascript自己调用并更新UI。以下是一些例子: