如何将两个文本框显示为一个?

时间:2009-10-19 21:54:26

标签: asp.net html css

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

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

5 个答案:

答案 0 :(得分:2)

您是否尝试过用户控件自定义控件? 理想情况下,使用两个文本框创建用户控件并应用以下样式,以便它们一起显示。

第一个文本框

border-right-width: 0 px

第二个文本框

border-left-width: 0 px

答案 1 :(得分:1)

您可以尝试将它们放在页面上彼此相邻并设置边框样式,使它们没有边框或者触摸边没有边框。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

假设你真正想要的是第一个和第二个字段之间难以察觉的差异:为什么不制作一个文本框,然后将其拆分为服务器端; e.g。

<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,并简单地拆分/处理服务器上的子串,但是因为它并不完全清楚为什么你真的想要两个单独的文本框看起来像一个文本框,我不能说这是否满足您的需求。

答案 4 :(得分:0)

我想我很好奇你为什么要这样做。正如托马斯所说,它似乎违背了可用性。您在寻找TextArea

之类的东西吗?