当前位置:编程学习 > C#/ASP.NET >>

.net 组件问题(dll控件)

想实现如下功能:

将  多个控件 如: buton ,都有不同 点击事件

如何封装在一起, 生成dll文件,供别人调用

是不是可以 都放在Panel 中,如何放呢?

请 高手们 指教··· --------------------编程问答-------------------- 也可以参考一下Microsoft Ajax Library客户端组件编程模型。

关键字:Sys.Component, Sys.UI.Behavior, Sys.UI.Control.

--------------------编程问答--------------------
引用 1 楼 namhyuk 的回复:
也可以参考一下Microsoft Ajax Library客户端组件编程模型。

关键字:Sys.Component, Sys.UI.Behavior, Sys.UI.Control.

楼上的可以考虑。
我现在用了 System.Web.UI.WebControls.CompositeControl
在 CreateChildControls 方法中 添加需要的控件及相关事件,添加上去可以调用,但各个控件的位置
不能按照意愿去摆放。

假如创建控件  先不加进页面,在 Render 方法中,各个控件在需要的位置进行输出,但相关事件就不知道消失了 不知道怎么加上去··



--------------------编程问答--------------------
引用 1 楼 namhyuk 的回复:
也可以参考一下Microsoft Ajax Library客户端组件编程模型。

 关键字:Sys.Component, Sys.UI.Behavior, Sys.UI.Control.

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,