2013-12-12 2 views
0

У меня есть код проверки на моей странице WebForm. Когда пользователь нажимает на кнопку и выполняет обратную передачу.ASP.Net OnLoad Остановка обработки событий

Событие Page_Load обрабатывается, после чего обрабатывается событие Button1_Click.

Я не могу понять, как остановить событие Button1_Click от обработки, если проверка не выполняется на странице_Load.

Это трюк для этого?

Thanks

+0

Как выглядит ваш код? –

+0

Это простая page_load и button_click. Это простая page_load и button_click. ' \t \t защищен недействительным Page_Load (объект отправителя, EventArgs е) \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 возвращение; \t \t} \t \t защищен недействительным btnTest_Click (объект отправителя, EventArgs е) \t \t { \t \t \t // Кнопка Нажмите \t \t} –

ответ

0

4 варианта, показанные ниже.

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 как это:

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

Кроме того, если вы все еще хотите, чтобы проверить, что условия в методе Page_Load просто добавьте простой «BOOL IsValid ', а затем проверьте его в Button1_Click:

if (!this.isValid) { return; } 
Смежные вопросы