2009-06-09 22 views
2

Ich schreibe eine Datei-Upload-Anwendung. Es enthält also einen Schlüsselnamen in Textfeld und eine Dateiupload Kontrolle. Eine Speichern-Schaltfläche wird verwendet, um den Schlüsselnamen und die Datei zu speichern. Mein Problem ist, wenn ich eine Datei in Dateiupload-Steuerelement auswählen und ich gebe keinen Wert in Schlüsselname Textfeld und klicken Sie auf Speichern, eine Meldung wird angezeigt "Geben Sie einen Schlüsselname", aber das Dateiupload-Steuerelement ist deaktiviert. Wie kann der Wert im Dateiupload-Steuerelement beibehalten werden?Wert in Dateiupload-Steuerelement beibehalten

Antwort

4

Sie können den Wert im FileUpload-Steuerelement nicht beibehalten. Dies ist aus Sicherheitsgründen. Sie können RequiredFieldValidator für Schlüsselname-Textfeld verwenden.

+0

Könnten Sie mir bitte einen Verweis auf den Grund in MSDN geben? – Sauron

+0

Diese beiden helfen: http://www.csharpuniversity.com/2009/03/05/uploading-files-and-validating-them-using-the-aspnet-fileupload-and-customvalidator-controls/ http : //forums.asp.net/p/1155617/1896657.aspx – Kashif

2

Ich glaube nicht, dass Sie den Wert einem FileUpload-Steuerelement aus Sicherheitsgründen zuweisen können.

Denken Sie einfach, wenn Sie könnten, könnten Sie standardmäßig den Pfad zu einer bekannten Systemdatei einfügen, die persönliche Informationen enthält. Dann verstecken Sie das Steuerelement auf einer Seite und lassen Sie den Benutzer die Seite aus welchem ​​Grund auch immer senden und Dateien automatisch herunterladen, ohne dass sie es wissen.

Das Steuerelement zum Hochladen von Dateien ist sehr gesperrt, weil es nur so viele Möglichkeiten gibt, es zu nutzen, wenn es nicht funktioniert.

Haben Sie darüber nachgedacht, kein Postback zu machen, um zu prüfen, ob der Schlüsselname eingegeben wurde? Führen Sie eine Überprüfung über Javascript durch und brechen Sie ab/zeigen Sie eine Nachricht an, wenn kein Schlüsselwert eingegeben wurde. Das Postback ist das, was den Wert löscht. Wenn Sie also verhindern, dass das Postback passiert, wird Ihr Problem verschwinden, da Sie nach einem Postback-Problem das Löschen der Datei nicht umgehen können.

+0

Könnten Sie mir bitte einen Verweis auf den Grund in MSDN geben? – Sauron

Verwandte Themen