Я создал пользовательский элемент управления TextBox, который также содержит RequiredFieldValidator. Все работает отлично, но проблема проявляется. Дисплей выглядит примерно так:
[TextBox Control] [Validation Error Message]
Я хочу, чтобы на дисплее было что-то вроде этого: (сообщение об ошибке проверки должно быть в верхней части текстового поля)
[Validation Error Messsage]
[TextBox Control]
Мой элемент управления наследуется от элемента управления TextBox. Как создать экран, как показано выше. Я попытался использовать элемент управления "Таблица" и вставить элемент TextBox и Validation внутри таблицы, но он дал мне некоторую проблему стека над потоком.
Вот код:
protected override void Render(System.Web.UI.HtmlTextWriter writer) {
base.Render(writer);
if(_req != null)
_req.RenderControl(writer);
}
Вы действительно близко к этому! Попробуйте следующее:
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
if(_req != null)
_req.RenderControl(writer);
base.Render(writer);
}
Это сделает контроль проверки перед вашим TextBox, а не потом. Если вы хотите изменить внешний вид, тогда css, вероятно, будет идти.
Вот уродливое решение:
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
if (_req != null)
{
writer.Write("<div style='float:top;'>");
_req.RenderControl(writer);
writer.Write("</div>");
}
base.Render(writer);
}