Asp.net:创建一个新的服务器控件。从哪儿开始?

时间:2015-02-10 17:17:42

标签: asp.net servercontrol

我想创建一个Server控件来获取一些参数并渲染表单或gridview。 我的目标是为标准CRUD操作创建一个库。 像这样的服务器控件:

<asp:myservercontrol database="mydatabase" table="mytable" ... othersparameter typeofcontrol="gridview or listview" >

我需要帮助:从哪里开始?我创建了一个新的“ServerControl”?

编辑:更确切地说,在我的旧Winform .NET应用程序中,我曾经创建一个“模板”表单(带有工具栏,按钮,网格),然后,用很少的代码,我用数据库“绑定”它表。 我想在ASP.NET中重新创建这种模板/服务器控件。

由于

1 个答案:

答案 0 :(得分:1)

我首先阅读:https://msdn.microsoft.com/en-us/library/fxh7k08z(v=vs.140).aspx

有一组服务器控件是ASP.NET Web Forms的标准配置,您可以选择使用其中一个作为起点,也可以从头开始。

您实质上是创建一个C#(或VB.NET)代码文件,并定义一个继承自基本控件类型的类,然后覆盖RenderContents方法

以下是自定义控件的示例:

namespace WebApplication1
{
    [DefaultProperty("Text")]
    [ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
    public class WebCustomControl1 : WebControl
    {
        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? String.Empty : s);
            }

            set
            {
                ViewState["Text"] = value;
            }
        }

        protected override void RenderContents(HtmlTextWriter output)
        {
            output.Write(Text);
        }
    }
}