.net 组件问题(dll控件)
想实现如下功能:将 多个控件 如: buton ,都有不同 点击事件
如何封装在一起, 生成dll文件,供别人调用
是不是可以 都放在Panel 中,如何放呢?
请 高手们 指教··· --------------------编程问答-------------------- 也可以参考一下Microsoft Ajax Library客户端组件编程模型。
关键字:Sys.Component, Sys.UI.Behavior, Sys.UI.Control.
--------------------编程问答--------------------
楼上的可以考虑。
我现在用了 System.Web.UI.WebControls.CompositeControl
在 CreateChildControls 方法中 添加需要的控件及相关事件,添加上去可以调用,但各个控件的位置
不能按照意愿去摆放。
假如创建控件 先不加进页面,在 Render 方法中,各个控件在需要的位置进行输出,但相关事件就不知道消失了 不知道怎么加上去··
--------------------编程问答--------------------
up --------------------编程问答-------------------- 顶回去······· --------------------编程问答-------------------- 两种方式:
1.简单实现,使用用户控件方式实现,直接使用web应用程序开发,编写用户控件并把用户控件当做内嵌资源直接嵌入到系统中,然后编译成独立的dll分发出去就成
2.复杂实现,使用标准自定义服务器控件方式完成,不过这种方式要求就比较高了
我的建议是如果你没把握快速开发标准服务器控件,基于性价比的原因,请选择第1种方式开发。
第一种方式的参考资料:
Embedded UserControls: Revisited
http://www.codeproject.com/KB/user-controls/EmbeddedUserControl.aspx --------------------编程问答--------------------
public class Class1 : CompositeControl
{
private Button bt1;
private Label lab1;
protected override void CreateChildControls()
{
Controls.Clear();
lab1 = new Label();
lab1.Text = "信息";
lab1.ID = "Label1";
this.Controls.Add(lab1);
bt1 = new Button();
bt1.Text = "添加";
bt1.ID = "Button1";
bt1.Click += new EventHandler(bt1_Click);
this.Controls.Add(bt1);
base.CreateChildControls();
}
void bt1_Click(object sender, EventArgs e)
{
//throw new NotImplementedException();
lab1.Text = "test";
}
protected override void RecreateChildControls() { EnsureChildControls(); }
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
writer.Write("<div>");
lab1.RenderControl(writer);
bt1.RenderControl(writer);
writer.Write("</div>");
base.Render(writer);
}
}
在页面调用 会出现 两个 相同的BUTTON 和 Label 该怎么处理不让他重复显示? --------------------编程问答-------------------- ding ``` --------------------编程问答-------------------- 关注~~~~~ --------------------编程问答-------------------- 用户自定义控件
补充:.NET技术 , ASP.NET