2009-10-19 45 views
0
<asp:TextBox id="txtComment" runat="server" Columns="50" MaxLength="50" /> 
<asp:TextBox id="txtComment2" runat="server" Columns="50" MaxLength="50" /> 

我在Web表单上有两个文本框。我如何将它们混合在一起并使它们显示为一个文本框?如何让两个文本框显示为一个?

+3

您为什么想要?看起来它会损害你的表单的可用性。 – 2009-10-19 22:04:45

回答

1

你可以试试把它们紧挨着彼此在页面上,造型它们的边界,使他们要么没有边界或触摸双方没有边界。

+0

这工作正常。 input.secondTextbox { position:relative; margin-left:0px; border-left:none; left:-5px; } – Hcabnettek 2009-10-19 22:08:48

2

您是否试过制作用户控件定制控件? 理想情况下,用两个文本框创建一个用户控件,并应用以下样式以使它们一起出现。

第一个文本框

border-right-width: 0 px 

第二个文本框

border-left-width: 0 px 
0
#txtComment, #txtComment2 {margin:0;padding:0; display-inline; border:none} 
+0

考虑添加一些解释,确切地说你在做什么。这就完成了答案,并提高了SO的答案的总体质量。谢谢! – Jon 2012-08-29 00:10:54

0

假设你真正想要的是第一场和第二场之间的差别难以察觉:为什么不把一个文本框,并拆分它的服务器端;例如

<asp:TextBox id="txtComment" runat="server" Columns="50" MaxLength="50" Visible="false" /> 
<asp:TextBox id="txtComment2" runat="server" Columns="50" MaxLength="50" Visible="false"/> 
<asp:TextBox id="shownTxtComment" runat="server" Columns="100" MaxLength="100"/> 

private void splitComment() 
{ 
txtComment.Text = String.Left(shownTxtComment.Text, 49); //first 50 characters 
txtComment2.Text = String.Mid(shownTxtComment.Text, 50); //characters 51 thru end 
} 

在您的回发函数中调用splitComment(),并且您将在每次回发中保持隐藏字段为最新。

你也可以考虑用javascript来做同样的事情客户端。更清洁的方法是完全删除txtComment2 Web控件,将txtComment的长度设置为100,并简单地分割/处理服务器上的子字符串,但是因为它并不完全清楚为什么你实际上需要两个单独的文本框像一个文本框,我不能说这是否满足您的需要。

0

我想我很好奇,为什么你想这样做。正如托马斯提到的,这似乎违背可用性。您是否正在寻找类似TextArea

相关问题