混合控件

  • 本文关键字:控件 混合 asp.net
  • 更新时间 :
  • 英文 :


我正在创建一个混合控件,在login.cs文件中动态添加html控件

login.cs代码

namespace WebApplication6
{
    public class LoginStandards: CompositeControl
    {
        private TextBox txtusername;
        private TextBox txtpassword;
    public string UserName
    {
        get
        {
            EnsureChildControls();
            return txtusername.Text;
        }
        set
        {
            EnsureChildControls();
            txtpassword.Text = value;
        }
    }
    public string Password
    {
        get
        {
            EnsureChildControls();
            return txtpassword.Text;
        }
        set
        {
            EnsureChildControls();
            txtpassword.Text = value;
        }
    }
    protected override void CreateChildControls()
    {
        txtusername = new TextBox();
        txtusername.ID = "txtusername";
        this.Controls.Add(txtusername);
        txtpassword = new TextBox();
        txtpassword.ID = "txtPassword";
        txtpassword.TextMode = TextBoxMode.Password;
        this.Controls.Add(txtpassword);
    }
    protected override void RenderContents(HtmlTextWriter writer)
    {
        writer.AddStyleAttribute("float", "left");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddAttribute(HtmlTextWriterAttribute.For, txtusername.ClientID);
        writer.RenderBeginTag(HtmlTextWriterTag.Label);
        writer.Write("User Name:");
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddAttribute(HtmlTextWriterAttribute.For, txtpassword.ClientID);
        writer.RenderBeginTag(HtmlTextWriterTag.Label);
        writer.Write("Password:");
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.AddStyleAttribute("float", "left");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        txtusername.RenderControl(writer);
        writer.RenderEndTag();
        writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "3px");
        writer.RenderBeginTag(HtmlTextWriterTag.Div);
        txtpassword.RenderControl(writer);
        writer.RenderEndTag();
        writer.RenderEndTag();
        writer.Write("<br style=’clear:left’ />");
    }
        protected override HtmlTextWriterTag TagKey
        {
            get
                {
                return HtmlTextWriterTag.Div;
                }
            }
}
}

我想在正常的。aspx页面中使用这个cs文件。我通过创建一个对象…但是它不起作用……如何在。aspx页面中调用login.cs文件。如有任何帮助,不胜感激

您是否注册了控件前缀?

<%@ Register tagprefix="My"
   namespace="WebApplication6"
   assembly="WebApplication6" %>

那么你可以在你的代码中使用:

<my:LoginStandards runat="server" />

最新更新