2

我创建了一个自定义 TextBox 控件,其中还包含一个RequiredFieldValidator。一切正常,但问题在于显示。显示是这样的:

[TextBox Control] [Validation Error Message] 

我希望显示是这样的:(验证错误消息应该在文本框的顶部)

[Validation Error Messsage] 
[TextBox Control]

我的控件继承自 TextBox 控件。我怎样才能像上面那样创建显示。我尝试使用 Table 控件并在 Table 中插入 TextBox 和 Validation 控件,但它给了我某种堆栈溢出错误。

这是代码:

protected override void Render(System.Web.UI.HtmlTextWriter writer) {
    base.Render(writer);

    if(_req != null)
        _req.RenderControl(writer);
}
4

2 回答 2

3

你真的很接近做对了!试试这个:

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
    if(_req != null)
        _req.RenderControl(writer);
    base.Render(writer);
}

这将在您的 TextBox 之前而不是之后呈现验证控件。如果你想进一步改变外观,那么 css 可能是要走的路。

于 2009-02-10T15:52:12.187 回答
0

这是丑陋的解决方案:

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);
        }
于 2009-02-04T22:41:44.963 回答