ホームページ  >  記事  >  バックエンド開発  >  .NET は繰り返し送信による更新を防止します

.NET は繰り返し送信による更新を防止します

巴扎黑
巴扎黑オリジナル
2016-12-19 16:43:061809ブラウズ

コード
パブリック クラス RefreshServe: System.Web.UIプライベート静的 ILog ログ = LogManager.GetLogger(typeofoperation (RefreshServe)) プライベート読み取り専用文字列 REFRESH_TICKET_NAME = "__RefreshTicketArray";
単独 HIDDEN_FIELD_名前 = "__RefreshHiddenField" ; privateのみの文字列dided = " "e" & gt; & lt;/ Param & gt; アウト オフ オフ ‐ ‐ ‐‐‐‐‐‐ および GUID ();

HttpCookie クッキー = getRefreshTicket();log.Debug ("現在クリアされている Cookie の変更は次のとおりです: " + pageGuid); String submitTime = DateTime.Now.ToString ( " "hhmmss.ffffff"); ClientScript.RegisterHiddenField(HIDDEN_FI) ELD_NAME,submitTime);


登録するHidden_​​field_name、hiddenfield(hiddenfield)Registerhiddenfield(submittime、submittime); "+cookie.values [i]); = NULL)
Flag = cookie.Values using through using through use using use using out out out through through '''' ‐ off ‐ ‐ ‐‐‐‐ flag = TRUE; //例外を防止、常に可能 Submit; ️ if (フラグ) (「提出時間が存在し、提出可能」)
{
を返します。#cookie地域のreturn値は、cookieのhttpcookie cookie = new httpcookie(refresh_ticket_name); cookie.Values.Count +" 具体的なものは次のとおりです。"); Info("Cookies["+ cookie.Values.GetKey(I)+"]:"+ cookie.Values[I]); / <概要 > 文字列 submitTime = リクエスト .Params[HIDDEN_FIELD_NAME] == null? "": Request.Params [HIDDEN_FIELD_NAME] の ToString()
/// <概要>
//ページの一意の識別子を設定し、Guid 識別子を使用して各ページの送信時間を区別します ) ! ToString()。
log.Debug("SetCurPageGuidログ ID = GetCurPageGuid();

} clientscript.registerhiddenfield(hidden_​​page_guid、guid)
hidden_​​page_guid] ==空き値? "なし": Request.Params の ToString() [HIDDEN_PAGE_GUID]


99999999999999999999999999999999999999999999999
必須 判定関数を更新する場合、新しいページはこれを継承するだけで済みますクラスを作成し、属性 IsPageRefreshed を参照して「true が意味すること」を識別します。リフレッシュ、false は通常の送信を意味します」と指定し、
if (!IsPageRefreshed)
{
データベース オペレーション
}
にデータベース オペレーションを記述します

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。