我有简单的ASPX页面,文本按钮/下拉菜单很少。对于几乎每个文本按钮/下拉菜单,我都有验证器。
我面临的问题是这些验证器中的每一个都在页面上产生一个空白行。下面是ASPX页面中的代码示例。我尝试添加DISPLAY = DYNAMIC,但我看到空白行减少但是当显示验证器消息(或必需*标记)时,它显示在文本框附近不相关。
<tr>
<asp:RequiredFieldValidator runat="server" ID="CityValidator" meta:resourceKey="CityValidator"
ValidationGroup='<%# ValidationGroupName %>' ControlToValidate="CityTextBox">*</asp:RequiredFieldValidator>
<td>
<asp:TextBox runat="server" ID="CityTextBox" MaxLength='30' CssClass="TextBox" />
</td>
<asp:RequiredFieldValidator runat="server" ID="RegionCodeValidator" meta:resourceKey="RegionCodeValidator"
ValidationGroup='<%# ValidationGroupName %>' ControlToValidate="RegionCodeTextBox" >*</asp:RequiredFieldValidator>
<td>
<asp:TextBox runat="server" ID="RegionCodeTextBox" MaxLength='2' CssClass="TextBox"/>
</td>
</tr>
答案 0 :(得分:3)
将验证器显示设置为动态。您还应该将验证器放在表结构中,以保持HTML结构的有效性。
<tr>
<td>
<asp:RequiredFieldValidator runat="server" ID="CityValidator" meta:resourceKey="CityValidator" Display="Dynamic" ValidationGroup='<%# ValidationGroupName %>' ControlToValidate="CityTextBox">*</asp:RequiredFieldValidator>
<asp:TextBox runat="server" ID="CityTextBox" MaxLength='30' CssClass="TextBox" />
</td>
<td>
<asp:RequiredFieldValidator runat="server" ID="RegionCodeValidator" meta:resourceKey="RegionCodeValidator" Display="Dynamic" ValidationGroup='<%# ValidationGroupName %>' ControlToValidate="RegionCodeTextBox" >*</asp:RequiredFieldValidator>
<asp:TextBox runat="server" ID="RegionCodeTextBox" MaxLength='2' CssClass="TextBox"/>
</td>
</tr>