我创建了一个非常简单的自定义控件:
[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。
有什么建议吗?
提前致谢
答案 0 :(得分:1)
由于它看起来不像你正在修改行为,只有数据,我会将属性设置为构造函数中所需的值,而不是覆盖属性本身。
public CustomMultiLineTextBox()
{
Rows = 5;
TextBoxMode = System.Web.UI.WebControls.TextBoxMode.MultiLine;
CssClass = "textboxStyle";
}