に 1 つの更新クエリがありpage_load()
ます。ページにボタンがあります。そのクエリを 1 回だけ実行したいのですが、ボタンをクリックすると、ページが再度読み込まれます。
したがって、そのボタンを更新パネルに配置しました。ボタンをクリックすると、ページがリロードされていないように見えますが、その更新クエリは実行されています。
何が問題なのですか?
に 1 つの更新クエリがありpage_load()
ます。ページにボタンがあります。そのクエリを 1 回だけ実行したいのですが、ボタンをクリックすると、ページが再度読み込まれます。
したがって、そのボタンを更新パネルに配置しました。ボタンをクリックすると、ページがリロードされていないように見えますが、その更新クエリは実行されています。
何が問題なのですか?
USE **ISPOSTBACK** PROPERTY IN YOUR **PAGELOAD.**
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//RUN UR UPDATE QUERY HERE
}
}
Page_Load メソッドに以下を追加します。
if(!IsPostBack)
{
//Run update query
}
UpdatePanel を使用すると、ページが更新されないように見えるかもしれませんが、実際にはページのライフサイクル全体が実行されます。これは、更新パネル内のパーツのみを更新する AJAX 要求を通じて行われます。この状況では、UpdatPanel は必要ありません。
あなたがする必要があるPage_Load
のは、現在のリクエストがPostback
. PostBack は、ページでユーザー アクションが実行され、イベントが実行されることを意味します。そうであれば、クエリを実行する必要がないことがわかります。
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
// Run query
}
}
UpdatePanels は、AJAX を使用しているという誤解を与えるかもしれませんが、内部ではページのライフサイクル全体を実行し、実際の AJAX リクエストとは異なります。