我正在创建一个混合控件,在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" />