2016-04-07 9 views
0

.Net betreten habe ich eine Textbox, die einen Monat als Wert annimmt, wenn dies die text_changed Ereignis ausgelöst wird geändert wird, die die vaildtextbasemonth() -Methodewie Schaltfläche Click-Ereignis zu vermeiden, wenn das Textfeld auf Textchanged-Ereignis in asp

umfasst
private void vaildtextbasemonth() 
{ 
    this_month = DateTime.Now.Month; 
    current_year = DateTime.Now.Year; 
    this_year = Convert.ToInt32(TxtBase.Text); 
    current_month = DateTime.Now.Month; 
    if (swyearerror != 0) 
    { 
    swyearerror = 0; 
    TxtBase.Focus(); 
    } 
    else if (Information.IsNumeric(TxtBase1.Text)) 
    { 
    base_month = Convert.ToInt32(TxtBase1.Text); 

    if (base_month > this_month & current_year == this_year) 
    { 
    string message = "Base month may not be in future"; 
    System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock 
    (this.GetType(), "alert", sb.ToString()); 
    TxtBase1.Focus(); 
    } 
    else 
    { 
    if (base_month < 1 | base_month > 12) 
    { 
    string message = "Month must be numeric"; 
    System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock 
    (this.GetType(), "alert", sb.ToString()); 
    TxtBase1.Focus(); 
} 
    else 
    { 
     if (base_month != current_month) 
    { 
     current_month = base_month; 
     Calc_Rotation(); 
     Calc_Best_Before(); 
    } 
     //txtBestBefore.SetFocus 
    } 
} 
} 
    else 
{ 
    string message = "Month must be numeric"; 
    System.Text.StringBuilder sb = new System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock 
    (this.GetType(), "alert", sb.ToString()); 
    TxtBase1.Focus(); 
    } 

} 

dies der ASPX des Drucktaste

<asp:Button ID="Print" runat="server" 
OnClick="Print_Click1" Text="Print" /> 

dies der Code für den Druckknopf ist, ist es ärgerlich, weil nach meinem Programmablauf Benutzer des Monat ändert und dann den neuen Rotationscode und am besten vor Datum wird ausgefüllt, dann gibt der Benutzer das Quanti ein ty to print klickt dann auf die Schaltfläche "Drucken", aber da das Ereignis "print" automatisch ausgelöst wird, wenn der Benutzer den Text ändert, wird ein Fehler ausgegeben, der besagt, dass die Menge leer ist und beim print_click-Ereignis überprüft wird.

protected void Print_Click1(object sender, EventArgs e) 
    { 
    if (String.IsNullOrEmpty(TxtItem.Text) 
    && String.IsNullOrEmpty(TxtQty.Text)) 
     { 
    string message = "Please Enter an Item 
     and Qty Before Clicking the Print Button"; 
    System.Text.StringBuilder sb = new 
    System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock 
(this.GetType(), "alert", sb.ToString()); 
    } 
    else if (String.IsNullOrEmpty(TxtQty.Text)) 
    { 
    string message = "Please Enter an Qty Before 
      Clicking the Print Button"; 
      System.Text.StringBuilder sb = new 
    System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock 
(this.GetType(), "alert", sb.ToString()); 
    } 
    else if (String.IsNullOrEmpty(TxtItem.Text)) 
    { 
    string message = "Please Enter an Item 
     Before Clicking the Print Button"; 
    System.Text.StringBuilder sb = new 
    System.Text.StringBuilder(); 
    sb.Append("<script type = 'text/javascript'>"); 
    sb.Append("window.onload=function(){"); 
    sb.Append("alert('"); 
    sb.Append(message); 
    sb.Append("')};"); 
    sb.Append("</script>"); 
    ClientScript.RegisterClientScriptBlock 
(this.GetType(), "alert", sb.ToString());   } 
    else 
    { 
    Printlabels(); 
    } 
    } 

so direkt nach diesem die Drucktaste klicken Ereignis Ereignis automatisch abgefeuert bekam, habe ich den Code überprüft ich einen Anruf nicht für die Klick-Taste überall sehen, ich bin nicht sicher, warum es ein anderes Verfahren als Teil behandelt der gültigen Basisartikel-Methode.

Jede Hilfe ist ernsthaft geschätzt !!!!

Antwort

0

Versuch zu sehen, wenn die Methode Print_Click1 nicht als Griff für ein anderes Ereignis in Ihrem HTML definiert ist.

+0

wie kann ich das tun, soweit ich es sehen kann nicht als Griff für jedes andere Ereignis definiert ist – CodeMan

Verwandte Themen