将验证控件与文本框对齐

时间:2011-08-25 07:06:02

标签: asp.net css

我有这个恼人的问题,我的验证控件拒绝与我的文本框在同一行。

一种方法是在表中创建控件,但我对该技术不感兴趣。我尝试了一些CSS技术,但结果总是错误的。

如果文本框不包含值,我只希望星号显示在文本框的右侧。

有什么建议吗?

代码非常简单:

<p>
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username:</asp:Label>
<asp:TextBox ID="UserName" runat="server" CssClass="textEntrySmall"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>

和css:

input.textEntrySmall
{
width: 130px;
border: 1px solid #ccc;
}
input.passwordEntrySmall
{
width: 130px;
border: 1px solid #ccc;
}

谢谢。

4 个答案:

答案 0 :(得分:0)

尝试:

p {
  width: 100%;
}
.failureNotification {
  width: 50px;
}

答案 1 :(得分:0)

在你的CSS中尝试这些更改。

p{
    display:table-row;
}
input, span, label{
    display:table-cell;
}

如果你有像IE6这样的老浏览器,IE7就可以使用它。它也适用于现代浏览器。

p {
     white-space:nowrap;
}

答案 2 :(得分:0)

还可以将验证控件中的星号更改为不可破坏的空格,然后更改星号......

因此,来自:

<asp:RequiredFieldValidator [...SNIP...] >*</asp:RequiredFieldValidator>

<asp:RequiredFieldValidator [...SNIP...] >&nbsp;*</asp:RequiredFieldValidator>

答案 3 :(得分:0)

请删除AssociatedControlID属性,您将全部设置。