文本框宽度问题 - ASP.NET

时间:2011-02-18 22:51:11

标签: asp.net textbox tags coding-style

我在一个生成文本框的网站页面上有一个用户控件。文本框具有指定的宽度,但文本框间歇地显示的宽度比代码中指定的宽度小得多。我让用户向我发送“查看源”输出的副本,以便我可以比较好的和坏的结果。通过“间歇”,我的意思是类似的构建 - 不同的计算机。请注意,不良结果总是显示在相同的“坏”计算机上(有多个用户遇到此问题),相反,“好”计算机(所有与IE7版本相同的“坏”计算机) )总是显示“好”的结果。

当页面显示正确时,发送到浏览器的html如下所示:

<input name="ShortDescription" type="text" maxlength="100" 
id="ShortDescription" class="content" style="width:800px;" />

当它渲染不正确时,它看起来像这样:

<input name="ShortDescription" type="text" maxlength="100" 
id="ShortDescription" class="content" />

在这两种情况下,ASP.NET代码都是:

<asp:textbox id="ShortDescription" runat="server" 
CssClass="content" Width="800px" MaxLength="100"> </asp:textbox>

我不确定为什么样式标签会掉线。以上页面都在不同计算机上的同一浏览器(IE7)中查看。计算机具有公司构建,因此它们“应该”配置相同。

我将不胜感激任何帮助!

5 个答案:

答案 0 :(得分:12)

尝试在CssClass中设置TextBox,或者使用样式属性参数而不是使用Width属性

<asp:TextBox id="ShortDescription" runat="server" CssClass="content" MaxLength="100" style="width: 800px" />
<style>.content { width: 800px }</style>
<asp:TextBox id="ShortDescription" runat="server" CssClass="content" MaxLength="100" />

答案 1 :(得分:5)

过去我发现通过类本身设置宽度,而不是使用文本框的width属性将确保控件正确呈现。

答案 2 :(得分:4)

应用min-width属性。

在CSS样式表中

.Textbox
{
min-width:100%;
}

在你的* .aspx

<asp:TextBox  CssClass="TextboxStyle"  placeholder="Enter the Title" runat="server" ID="TextBox1"></asp:TextBox>

这将更新您的文本框

答案 3 :(得分:0)

编译为asp:textbox标记的

input根据w3没有“width”属性。它支持“size”属性。 IE(678)在标准方面可能会有更好的时间,而其他浏览器的解释则更宽松。

http://www.w3.org/MarkUp/1995-archive/Elements/INPUT.html

答案 4 :(得分:0)

用于修复文本框的宽度

获取一个皮肤文件并输入以下代码...

例如“skinFile.skin”

<textbox runat="server" width="200px"/>

......................................

之后将以下代码放入您的aspx页面。

Theme="SkinFile

例如......

<%@ Page Language="C#" MasterPageFile="~/AdminMaster.master" AutoEventWireup="true" CodeFile="stu_resgistration.aspx.cs" Inherits="AdminSide_stu_resgistration" Title="Untitled Page" Theme="SkinFile"%>