2009-10-19 90 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

相關問題