我有一个关于page_load()
的更新查询。我在页面上有一个按钮。我只想执行一次该查询,但是当我单击按钮时,页面会再次加载。
因此,我将该按钮放在更新面板中。现在,当我单击该按钮时,该页面似乎没有重新加载,但该更新查询正在执行。
可能有什么问题?
USE **ISPOSTBACK** PROPERTY IN YOUR **PAGELOAD.**
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//RUN UR UPDATE QUERY HERE
}
}
使用 UpdatePanel 时,您的页面可能看起来没有刷新,但实际上您的整个页面生命周期都已执行。这是通过 AJAX 请求完成的,该请求只会刷新更新面板中的部件。在这种情况下,您不需要 UpdatPanel 。
您需要做的是签入Page_Load
函数,如果当前请求是Postback
。回发表示已执行页面上的用户操作,并且将运行事件。如果是,则您知道不需要运行查询。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
// Run query
}
}
UpdatePanel可能会给你一种使用AJAX的错误感觉,但在内部,它们运行你的整个页面生命周期,它们与真正的AJAX请求不同。
在Page_Load方法中添加以下内容
if(!IsPostBack)
{
//Run update query
}