Register Startpspriptの後退は繰り返し解決方法を提示します.

4814 ワード

私はバックグランドでRegister Startup Scriptを呼び出してスクリプトを登録して、ユーザーに他のページにジャンプするかどうかをヒントを与えましたが、問題が来ました.別のページにジャンプしたら、ユーザーが後退したら、元のページからスクリプト情報が提示されます.
その後自分で考えましたが、一つの変数で判断すればいいと思いました.Cookiesで実現することにしました.手順は以下の通りです.
1.Cookiesで読み込むjavascriptの設定方法
function getcookie(objname) {
    //       cookie  
    var arrstr = document.cookie.split("; ");
    for (var i = 0; i < arrstr.length; i++) {
        var temp = arrstr[i].split("=");
        if (temp[0] == objname) return unescape(temp[1]);
    }
}
2.Cookiesを1に設定し、1であれば確認ボックスをポップアップすると判断する.
if (list.Count() > 0)
                {
                    Response.Cookies["state"].Value = "1";

                    ScriptManager.RegisterStartupScript(this, this.GetType(), "confirm", "if(getcookie('state')=='1'){if(confirm('          ,    ?'))"
                      + this.ClientScript.GetPostBackEventReference(this, "yes_" + list[0].KID)
                      + "; else " + this.ClientScript.GetPostBackEventReference(this, "no_" + purchaseid) + ";};", true);
                }
3.コールバックの場合、Cookiesを2に設定します.このようにボックスにヒントを与えて1ではないと判断したら、これ以上ヒントを与えません.
public void RaisePostBackEvent(string eventArgument)
        {
            Response.Cookies["state"].Value = "2";
            if (eventArgument.Contains("yes"))
            {
                int id = Convert.ToInt32(eventArgument.Split('_')[1]);
                Response.Redirect("PurchaseStockInfo_Edit.aspx?type=look&id=" + id);
            }
        }
ページ更新の判断については、私のブログにはもう一つの文章があります.必要なものは見に行ってもいいです.二つの文章を合わせて、よく使うページの更新、繰り返しの提示などの問題を解決します.
 
 
長い時間をかけて整理しました.転載する子供靴は私のリンクを残してください.