Mahlzeit,
ich bin gerade dabei mir ein eigenes ServerControl f�r einen FileUpload zu
bauen.
Dieses beinhaltet ein Input Control um Dateien auszuw�hlen und ein Input
Control Button um das Hochladen auszul�sen.
Im ServerControl habe ich eine Methode, welche den Upload durchf�hren soll und
dem Button habe ich einen Event zugewiesen mit dieser Methode.
Leider f�hrt das Klicken des Buttons nicht zum Aufruf der Methode.
Wenn man sich den HTML Quelltext anschaut, dann sieht man auch, dass das
doPostback des Buttons nicht gef�llt wurde.
Woran kann das liegen ???
Hier der Quelltext des Controls:
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using spm.classes.misc;
namespace spm.classes.customcontrols
{
/// <summary>
/// Dateiname: FileUploader.cs
/// Beschreibung: Diese Control dient dazu Dateien auf den Server
hochzuladen
/// oder den Byte Stream in eine
Datenbank zu speichern
/// @author: Andr� Schubert
/// @version: 0.01
/// @date: 16.11.2004
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:FileUploader
runat=server></{0}:FileUploader>")]
public class FileUploader : System.Web.UI.WebControls.WebControl
{
//Variablen
private string _FilePath;
private bool _SaveInDB;
private bool _SaveInFolder;
//Controls
private System.Web.UI.HtmlControls.HtmlInputFile htmlInputFile;
private System.Web.UI.HtmlControls.HtmlInputButton htmlButton;
/// <summary>
/// Pfad zum Speichern der Dateien auf dem Server
/// </summary>
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string FilePath
{
get
{
return _FilePath;
}
set
{
_FilePath = value;
}
}
/// <summary>
/// Soll die Datei auf dem Server gespeichert werden
/// </summary>
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public bool SaveInFolder
{
get
{
return _SaveInFolder;
}
set
{
_SaveInFolder = value;
}
}
/// <summary>
/// Soll die Datei in der Datenbank gespeichert werden
/// </summary>
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public bool SaveInDB
{
get
{
return _SaveInDB;
}
set
{
_SaveInDB = value;
}
}
/// <summary>
/// PreRender Event des Controls
/// </summary>
/// <param name="e"></param>
protected override void OnPreRender(EventArgs e)
{
htmlInputFile = new
System.Web.UI.HtmlControls.HtmlInputFile();
htmlInputFile.ID = "InputFile";
htmlButton = new
System.Web.UI.HtmlControls.HtmlInputButton("button");
htmlButton.ID = "btnUploadFile";
htmlButton.Value = "Datei hochladen";
htmlButton.ServerClick += new
EventHandler(htmlButton_ServerClick);
this.Controls.Add(htmlInputFile);
this.Controls.Add(htmlButton);
System.Diagnostics.Debug.WriteLine("FileUpload Control
wurde gerendert.");
base.OnPreRender (e);
}
/// <summary>
/// Hochladen der Datei ausgel�st durch Klicken des Buttons
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void htmlButton_ServerClick(object sender, EventArgs e)
{
try
{
System.Diagnostics.Debug.WriteLine("Es wird
versucht eine Datei auf den Server zu laden.");
if(this.htmlInputFile.PostedFile != null)
{
System.Diagnostics.Debug.WriteLine(this.htmlInputFile.PostedFile.ContentLength);
System.Diagnostics.Debug.WriteLine(this.htmlInputFile.PostedFile.ContentType);
System.Diagnostics.Debug.WriteLine(this.htmlInputFile.PostedFile.FileName);
System.Diagnostics.Debug.WriteLine("Save File to:" + this._FilePath);
this.htmlButton.Value = "OK !";
System.Diagnostics.Debug.WriteLine("Dateiupload erfolgreich.");
}
}
catch(Exception Exc)
{
Logger.LogError(Exc.Message);
}
}
}
}
Danke Andr�
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net