>  기사  >  백엔드 개발  >  .NET은 반복 제출로 인한 새로 고침을 방지합니다.

.NET은 반복 제출로 인한 새로 고침을 방지합니다.

巴扎黑
巴扎黑원래의
2016-12-19 16:43:061767검색

코드
공용 클래스 RefreshServe: System.Web.UI.Page
{
개인 정적 ILog 로그 = LogManager.GetLogger(작업 유형(RefreshServe))

개인 전용 읽기 String refresh_ticket_name = "__
개인 읽기 전용 문자열 hidden_field_name"; > ///True는 페이지 새로 고침을 의미하고 False는 일반 제출을 의미
///
Public BOOL IsPageRefreshed
Get
                                              if(IsPostBack &&!CheckRefreshFlag())
                                                                                                                                                                        디버그(“정상 제출”);
                                                                                   ~                                               | / < ; Abstract & gt;
/// 로고를 업데이트하고, 제출된 시간을 삭제하고, 현재의 새로운 시간을 생성합니다.
/// & lt;/Summary & gt; updatereshflag () { HttpCookie = GetRefreshTicket();

if (cookie.Values.Count> 0)
{
cookie.Values.Remove(pageGuid);log.Debug("현재 지워진 쿠키의 변경 사항: " + pageGuid);
                                                                                            현재 제출 시간은 숨겨진 도메인
ClientScript.registerhiddenfield (Hidden_field_name, submittime) E +"guid: ” + pageGuid.ToString());
cookie.Values.Add(pageGuid, submitTime); ]: "+ cookie.Values ​​​​[I]);

Response.AppendCookie (쿠키);

#endregion

} / // <요약>
                                           ]! = NULL)
Flags = cookie.Values[pageGuid] .IndexOf(GetCurSubmitTime())>
기타
Flags = TRUE; if (플래그)
                                                                                                ~       log.Debug        . 반환 플래그;
}
                                                                                                      / ~# 지역의 쿠키 모드, 반환 값은 쿠키의 HttpCookie 쿠키입니다.
Cookie = new HttpCookie (REFRESH_TICKET_NAME)
            Response.AppendCookie (Cookie); 그렇지 않으면
               

log.Debug ("기존 쿠키를 읽습니다. 현재 쿠키에 있는 레코드 수는 다음과 같습니다." + cookie.Values.Count + "구체적인 항목은 다음과 같습니다.") ;                                            ; + 쿠키.값[I]);
                                                                        
String submitTime = Request.Params [HIDDEN_FIELD_NAME] == Null 값인가요? "": Request.Params의 ToString() [HIDDEN_FIELD_NAME];
                                                                                                      🎜>
          ///

String SetCurPageGuid()
                                                                                        매개변수 [HIDDEN_PAGE_GUID] == NULL)
                                                           > ToString( )의 GUID = System.Guid.NewGuid()입니다.
                                                                                                             >> ClientScript.RegisterHiddenField(HIDDEN_PAGE_GUID, GUID)
GUID를 반환합니다.
} }



                                                                      > & lt;/return & gt; getcurPageGuid ()
{
string pageguid = request.params [hidden_page_guid] == 빈 값인가요? "없음": Request.Params의 ToString() [HIDDEN_PAGE_GUID];
                                                                      >}



999999999999999999999999999999999999999
새 페이지를 새로 고쳐야 할 때 새 페이지만 상속하면 됩니다.”,
if (!IsPageRefreshed)
{
데이터베이스 작업
}
에 데이터베이스 작업을 작성합니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.