我已经创建了一个非常简单的自定义控件:
[assembly: System.Web.UI.TagPrefix("CustomMultiLineTextBox", "evo")]
public class CustomMultiLineTextBox :
System.Web.UI.WebControls.TextBox
{
public override int Rows
{
get
{
return 5;
}
}
public override System.Web.UI.WebControls.TextBoxMode TextMode
{
get
{
return System.Web.UI.WebControls.TextBoxMode.MultiLine;
}
}
public override string CssClass
{
get
{
return "textboxStyle";
}
set
{
//base.CssClass = "textboxStyle";
base.CssClass = value;
}
}
}
}
然而,当我把这个控件放到aspx页面上时,CssClass似乎不适用。TextMode和Rows属性设置正确。
<evo:CustomMultiLineTextBox ID="txtTrainingNeeds" runat="server">
</evo:CustomMultiLineTextBox>
只有当我添加CssClass="textboxStyle"标记,CssClass才会被应用。
有什么建议吗?
Thanks in advance
因为看起来不像是在修改行为,而只是修改数据,所以我会在构造函数中将属性设置为您想要的值,而不是覆盖属性本身。
public CustomMultiLineTextBox()
{
Rows = 5;
TextBoxMode = System.Web.UI.WebControls.TextBoxMode.MultiLine;
CssClass = "textboxStyle";
}