2012-04-10 18 views
1

Ich lade eine Datei von Datei-Upload-Steuerelement in asp.net. Auf dieser Seite befindet sich ein Kontrollkästchen. Benutzer müssen die Bedingung akzeptieren, bevor er die Datei hochladen kann. Ich überprüfe Code hinter Datei, wenn das Kontrollkästchen nicht aktiviert ist, dass eine Warnmeldung anzeigen, aber das Problem ist, dass vor dem Aufruf dieser Funktion die Datei auf dem Server als Ganzes gepuffert wird und dann die Funktion aufgerufen wird. Aber ich möchte diesen Zustand vor dem zeitweiligen Hochladen dieser Datei überprüfen.Datei-Upload funktioniert nicht richtig in asp.net

Unten ist mein Code, ich arbeite mit-

protected void btn_Upload_Click1(object sender, EventArgs e) 
    { 
     if (!chkBx_1.Checked) 
     { 
      dataclass.Message("Please accept all terms before uploading", this); 
      return; 

     } 
     else 
     { 
      if (FileUpload1.HasFile) 
      { 
       FileUpload1.SaveAs("path"); 
      } 

     }   
     } 

Antwort

1

einig Client-Side-Technologie verwenden (Javascript, Silverlight, etc ..) zunächst das Kontrollkästchen zu überprüfen, bevor das Formular an den Server.

Wenn Sie sicher sein wollen, können Sie das Kontrollkästchen auf der Server-Seite dann wieder aktivieren.

+0

können Sie mir bitte die genaue jquery, um dies zu tun. Ich bin sehr neu zu sciprting Sprachen – user1199475

+0

Cleverer Leute als ich haben dies bereits beantwortet: http://StackOverflow.com/Questions/901712/check-Checkbox-checked-property-using-Jquery – Arthis

+1

Sie können das FileUpload-Steuerelement nur anzeigen, wenn die CheckBox ist aktiviert. Dies kann über Javascript-JQuery oder mit einigen Ajax und Async Postback (in diesem Fall nicht foget, um AsyncFileUpload zu verwenden) –

1

Es wird viel einfacher für Sie, die checkbox in Client-Seite zu validieren, bevor Sie fortfahren. Schauen Sie sich diesen Artikel über Related checkbox validation with JQuery an. Auch innerhalb der click Funktion können Sie event.preventDefault()

zB verwenden.

<input id="chbTest" cssClass="clChb" value="1" type="checkbox"> 
<script language="javascript"> 
(document).ready(function(){ 
$("#btnUpload").click(function(event){ 

    if ($(".clChb").attr("checked") == false){ 
      event.preventDefault(); 
      alert('Please accept all terms before uploading '); 
    } 

}); 

}); 
</script> 

Auch wenn Sie nicht viel vertraut sind, können Sie einen Blick auf diesen Artikel haben über Using jQuery with ASP.NET die Ihnen zeigt, wie notwendig Script-Bibliotheken enthalten.

+0

können Sie mir bitte die genaue jquery, um dies zu tun. Ich bin sehr neu sciprting Sprachen – user1199475

+0

@ user1199475: Ich habe die Antwort aktualisiert haben einen Blick !!! –

1

Versuchen Sie, dieses Kontrollkästchen mit Toolbox Validator "RequiredFieldValidator" zu validieren.

Verwandte Themen