我想显示asp.NET页面,其中包含4个更新面板和按钮点击时的数据刷新和第一次。我的问题在下面
感谢您的帮助
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<button id="btnCrashRefresh" onserverclick="btnCrashRefresh_ServerClick" type="submit" runat="server" class="btn btn-default pull-right" style="padding-top: 0px;padding-bottom: 0px;"><span class="glyphicon glyphicon-refresh" ></span></button>
<asp:Label ID="Label1" class=" label-info pull-right" runat="server" Text="<Date time>" ></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
背后的代码
System.Timers.Timer myTimer = new System.Timers.Timer();
protected void Page_Load(object sender, EventArgs e)
{
if (! Page.IsPostBack)
{
SetInitialValues();
btnCrashRefresh.ServerClick += new EventHandler(btnCrashRefresh_ServerClick);
myTimer.Interval = 2000;
myTimer.Elapsed += new ElapsedEventHandler(myTimer_Elapsed);
myTimer.Start();
}
}
void myTimer_Elapsed(object sender, ElapsedEventArgs e)
{
string script = "DoPostback();";
ScriptManager.RegisterStartupScript(btnCrashRefresh, this.GetType(), "Refresh", getjQueryCode(script), true);
}
的Javascript
function DoPostback() {
__doPostBack('<%=btnCrashRefresh %>');
}
答案 0 :(得分:0)
因为我是一名VB.NET开发人员:
1- ASP.NET中的页面有一个生命周期,是的,你是对的,在LOAD上使用它并不是一个好主意。以下是页面生命周期ASP.NET Life Cycle的简要说明,您可以将所有数据绑定到面板的最佳部分位于PreRender
2-这是一个按钮点击?如果是这样,你几乎需要这样的东西:
Public Sub btnRefresh_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRefresh.Click
updatePanel1.Update()
updatePanel2.Update()
updatePanel3.Update()
updatePanel4.Update()
End Sub
这是C#Vers:
public void btnRefresh_Click(object sender, System.EventArgs e)
{
updatePanel1.Update();
updatePanel2.Update();
updatePanel3.Update();
updatePanel4.Update();
}
我希望这能满足您的需求:)
答案 1 :(得分:0)
您可以使用AJAX中的Timer控件定期刷新数据。 为此添加一个计时器控件。设置其间隔(以毫秒为单位)并生成其tick事件处理程序方法,并创建一个函数将数据加载到控件中,如下所示:
private void LoadData()
{
//Load you data here
}
如果不 LoadData
并在
pageload
方法调用此IsPostBack
方法
计时器的嘀嗒事件。