更新時のAsp.Netボタンイベントの複製が再び発生しますか??? GUID?
こんにちは、ウェブサイトで、ユーザーがボタンをクリックしてページのポストバックを行うと、ユーザーがページを更新するか F5 キーを押すと、ボタン メソッドが再度呼び出されます。
ページを同じページに再度リダイレクトせずにページの更新を防ぐ方法を知っている人はいますか?
if (page.isRefresh) などのようなもの...または存在する場合は、javascript ソリューションの方が優れています。
これは機能するように見えます....しかし、更新するとポストバックせず、テキストボックスに前の値が表示されます
http://www.dotnetspider.com/resources/4040-IsPageRefresh-ASP-NET.aspx
private Boolean IsPageRefresh = false;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["postids"] = System.Guid.NewGuid().ToString();
Session["postid"] = ViewState["postids"].ToString();
TextBox1.Text = "Hi";
}
else
{
if (ViewState["postids"].ToString() != Session["postid"].ToString())
{
IsPageRefresh = true;
}
Session["postid"] = System.Guid.NewGuid().ToString();
ViewState["postids"] = Session["postid"];
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (!IsPageRefresh) // check that page is not refreshed by browser.
{
TextBox2.Text = TextBox1.Text + "@";
}
}