使ってます:
Response.Redirect(Request.RawUrl);
私のウェブページにポストバックを強制します。ただし、コード内の実行パスは、ページが初めて読み込まれた場合と同じです。通常のポストバックを発生させるにはどうすればよいですか?
アドバイスをいただければ幸いです。
よろしく。
編集:
この投稿は多くの否定的な見方をしているようです。ポストバックを強制するためのGoogle検索の後、StockOverflowの投稿からこのメソッドを取得しました。したがって、反対派はおそらく私の代わりにその投稿で彼らの欲求不満を取り除くべきです。
私の質問に関する誤解のいくつかを解決するには:
メソッド本体にロジックを含むイベントButton_Clickがあります-明らかに。ただし、コードの実行フローは次のようになります。
Button_Click-> Page_Load(IsPostBack == true)->Button_Clickbody->実行が終了します。
したがって、私の問題は、Button_Clickの本体のコードが実行される前にポストバックが実行されるため、Button_Clickの本体のロジックがページに表示されないことです。
編集:
イベントは次のとおりです。
protected void RedoEdits_Click(Object sender, EventArgs e)
{
// Goes to Page_Load here with IsPostBack == true
string trendsFileLocation = currDir + "\\" + reportDir + "\\" + trendsFile;
string messagesFileLocation = currDir + "\\" + reportDir + "\\" + messagesFile;
if (File.Exists(trendsFileLocation))
{
File.Delete(trendsFileLocation);
}
if (File.Exists(messagesFileLocation))
{
File.Delete(messagesFileLocation);
}
trendsXML.Clear();
editMode = "redo";
}
IsPostBackのコードスニペット==true:
if (editMode.Equals("redo"))
{
editMode = "";
ViewReport_Click(null, null);
}
ポストバックが最初に発生するため、コードスニペットは実行されません。editMode!= redoのためにスニペットをスキップし、最後にeditMode == redoを設定するRedoEdits_Clickの本体で終了しますが、ポストバックがすでに発生しているため、ViewReport_Clickに到達しません。
そしてところで、editModeはセッション変数なので、それは持続します。