2009-05-20 68 views
3

我有以下代码文本框拉伸问题

<table cellpadding="2" cellspacing="2"> 
    <tr> 
    <td>Factory:</td> 
    <td> 
     <asp:TextBox ID="txtFactory" runat="server" Width="100%"></asp:TextBox> 
    </td> 
    </tr> 
</table> 

我的问题是,有时在工厂文本框可以容纳100个或更多字符一个相当长的描述,而当发生这种情况我文本框扩大超出的边缘屏幕,然后导致水平滚动条出现在我的浏览器的底部,我真的不希望这样。我想要的是让我的TextBox扩展到浏览器窗口所在的宽度,并且还可以在用户调整浏览器窗口大小时调整大小。

+0

在代码隐藏文件中是否有任何代码会以任何方式改变文本框的宽度? – 2009-05-20 20:22:12

+0

我使用你的代码,并且在IE和FF中加载大量文本的文本框时没有滚动问题。你的文字没有空格吗? – RedFilter 2009-05-20 20:24:20

+0

@Fredrik - 不,我不知道。好主意,但。 – Jagd 2009-05-20 21:04:14

回答

1

如果你不反对使用javascript,jQuery有一个非常简单的解决方案来解决这个问题。您可以使用它来初始设置文本框的大小,并将resize事件处理程序附加到body标签。在事件处理程序中,只需使文本框的宽度与主体的宽度相匹配即可。

1

Jagd,

检查Wrap和MaxLength属性。

W3Schools在WebControls上有一些很棒的信息。

(HTTP)://www.w3schools(COM)/ ASPNET/control_textbox(ASP)
---我不能发布链接呢,对不起---

好运,

-Robert

1

用FF使用Firebug检查您的HTML,看看什么是扩大您的主要容器。

如果您的文本的时间过长,没有空格,浏览器不知道在何处放置换行符,这种行为可以在TD或文本框的WRAP属性(呈现为被修改SPAN一次在浏览器中)。

1

您的表单元素标签在哪里? 你为什么使用表格进行布局? 为什么你要在HTML中而不是在CSS文件中指定textarea的宽度?

妥善处理!