呵呵,说来惭愧,第一次做这种服务器控件编程,基本原理我比较清楚了,但对于子控件的事件仍然有些不解。
首先,我现在要做一个服务器控件,用于上传文件,要求就是控件的用户不需要写一行代码,就完成上传。他们需要做的,仅仅是设置一下属性。我在我的服务器控件里面生成了HtmlInputFile和Button,显示上没有什么问题,但是我按下Button后一点反应也没有,就Postback了。大家看看我这段写得对不对:
Button uploadButton = new Button();
HtmlInputFile file = new HtmlInputFile();private void CreateControls()
{
button.Text = "Upload";
button.Click += new EventHandler(UploadFile);
this.Controls.Add(file);
this.Controls.Add(uploadButton);
}private void UploadFile(object sender,System.EventArgs e)
{
///...
}protected override void CreateChildControls()
{
this.EnsureChildControls();
base.CreateChildControls();
CreateControls();
}------------------------------------------------
我现在并不要暴露事件给用户,只是希望在内部处理这个事件,但可能我这个Button.Click事件绑定用的不对,希望有经验的朋友能否帮个忙?谢谢了!
首先,我现在要做一个服务器控件,用于上传文件,要求就是控件的用户不需要写一行代码,就完成上传。他们需要做的,仅仅是设置一下属性。我在我的服务器控件里面生成了HtmlInputFile和Button,显示上没有什么问题,但是我按下Button后一点反应也没有,就Postback了。大家看看我这段写得对不对:
Button uploadButton = new Button();
HtmlInputFile file = new HtmlInputFile();private void CreateControls()
{
button.Text = "Upload";
button.Click += new EventHandler(UploadFile);
this.Controls.Add(file);
this.Controls.Add(uploadButton);
}private void UploadFile(object sender,System.EventArgs e)
{
///...
}protected override void CreateChildControls()
{
this.EnsureChildControls();
base.CreateChildControls();
CreateControls();
}------------------------------------------------
我现在并不要暴露事件给用户,只是希望在内部处理这个事件,但可能我这个Button.Click事件绑定用的不对,希望有经验的朋友能否帮个忙?谢谢了!
{
Button uploadButton = new Button();
HtmlInputFile file = new HtmlInputFile();private void UploadFile(object sender,System.EventArgs e)
{
///...
}protected override void CreateChildControls()
{
button.Text = "Upload";
button.ID = "btnUpload";
button.Click += new EventHandler(UploadFile);
file.ID = "fileUpload";
this.Controls.Add(file);
this.Controls.Add(uploadButton);}
}