2013-12-12 5 views
0

WebForm 페이지에 유효성 검사 코드가 있습니다. 사용자가 버튼을 클릭하고 포스트 백을 수행 할 때.ASP.Net OnLoad 이벤트 처리 중지

Page_Load 이벤트가 처리되면 Button1_Click 이벤트가 처리됩니다.

Page_Load에서 유효성 검사가 실패하면 Button1_Click 이벤트가 처리되지 않도록 할 수 없습니다.

트릭이 필요합니까?

감사 아래와

+0

코드는 어떻게 생겼습니까? –

+0

간단한 page_load 및 button_click입니다. 간단한 page_load 및 button_click입니다. ' \t \t 보호 보이드를 Page_Load (객체 송신자있는 EventArgs E) \t \t \t \t { \t (HasError) \t \t \t \t 돌아 가면; \t \t} \t \t 보호 무효를 btnTest_Click (개체 보낸 사람, EventArgs입니다 전자) \t \t { \t \t \t // 버튼 \t \t} '가 \t \t 보호 무효를 Page_Load (개체를 보낸 사람, EventArgs입니다 전자를 클릭) \t \t { \t \t \t if (HasError) \t \t \t \t return; \t \t} \t \t 보호 무효를 btnTest_Click (개체 보낸 사람, EventArgs입니다 전자) \t \t { \t \t \t // 버튼 클릭 \t \t} –

답변

0

4 변형. 당신은 여전히를 Page_Load 방법의 조건이 단순한 '부울 isValid를 추가하는 것이 확인하려는 경우 또한

if (!this.IsValid()) { return; } 

을 :

public partial class _Default : System.Web.UI.Page 
    { 
     private bool MyPageIsValid { get; set; } 

     protected void Page_Load(object sender, EventArgs e) 
     { 

      if (Page.IsPostBack) 
      { 
       bool valid = false; /* some routine here */ 
       MyPageIsValid = valid; 
      } 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      if (this.MyPageIsValid) 
      { 
       this.TextBox1.Text = DateTime.Now.ToLongTimeString(); 
      } 
     } 

     protected void Button2_Click(object sender, EventArgs e) 
     { 

      if (!this.MyPageIsValid) {return;} 

      this.TextBox1.Text = DateTime.Now.ToLongTimeString(); 

     } 

     protected void Button3_Click(object sender, EventArgs e) 
     { 
      if (this.Page.IsValid) 
      { 
       this.TextBox1.Text = DateTime.Now.ToLongTimeString(); 
      } 
     } 

     protected void Button4_Click(object sender, EventArgs e) 
     { 
      if (!this.Page.IsValid) {return;} 

      this.TextBox1.Text = DateTime.Now.ToLongTimeString(); 

     } 
    } 
0

는 나는이 같은를 Button1_Click 방법을 정확히 검증 조건을 확인하는 것이 더해야한다고 생각 '플래그를 페이지의 클래스에 추가 한 다음 Button1_Click에서 확인하십시오.

if (!this.isValid) { return; }