Мне нужно создать пользовательский элемент управления TextBox, который позволяет вводить теги HTML пользователя.Я добавил новое свойство с именем HtmlEnabled, по умолчанию false.Если оно ложно, оно будет действовать точно так же, как и оригинальный TextBox;если он установлен в true, он будет вызывать Server.HtmlEncode для кодирования текста.Я никогда не создавал пользовательский элемент управления, может кто-нибудь сказать мне, что мне нужно сделать?Какую функцию мне нужно переопределить?Спасибо.
Я создал свой класс TextBoxEx следующим образом: я все еще получаю ошибку проверки, когда я устанавливаю HtmlEnabled в true, кто-нибудь может сказать мне, что не так?
namespace WebApplication1
{
[ToolboxData("<{0}:TextBoxEx runat=server></{0}:TextBoxEx")]
public class TextBoxEx : System.Web.UI.WebControls.TextBox
{
public bool HtmlEnabled
{
get
{
return (bool)ViewState["HtmlEnabled"];
}
set
{
ViewState["HtmlEnabled"] = value;
}
}
public TextBoxEx()
{
ViewState["HtmlEnabled"] = false;
}
public override string Text
{
get
{
if (HtmlEnabled)
return HttpUtility.HtmlEncode(base.Text);
else return base.Text;
}
set
{
if (HtmlEnabled)
base.Text = HttpUtility.HtmlDecode(value);
else base.Text = value;
}
}
}
}