2014-09-01 58 views
0

我有以下設置:查找輸入值和相關的HTML標籤的文本在asp.net

<label for="<%= inpUserName.ClientID%>">Email</label> 
<asp:TextBox id="inpUserName" runat="server" /> 

正如你可能注意到了標籤不是ASP的標籤。如何獲得輸入值和標籤文本?

編輯 我想通過發佈的表單鍵循環,並獲得相關的標籤。

+0

您在服務器端的意思是(當你做一個回發)? – 2014-09-01 07:47:35

+0

@Samer Abu Rabie yes – Morpheus 2014-09-01 07:52:14

回答

3

你可以直接使用<asp:Label>,只需要指定AssociatedControlID

<asp:Label ID="UsernameLabel" 
     Text="Email" 
     AssociatedControlID="inpUserName" 
     runat="server"> 
<asp:TextBox id="inpUserName" runat="server" /> 

+1

我在找什麼。從未使用'AssociatedControlID',並不知道這很簡單。謝謝 – Morpheus 2014-09-01 08:04:29

0

使標籤服務器端:

<label runat="server" id="lblEmail" for="<%= inpUserName.ClientID%>">Email</label> 

然後你就可以在代碼中訪問它的文本背後是這樣的:

// label text 
string labelText = lblEmail.InnerText; 
// input value 
string inputValue = inpUserName.Text; 
+0

我需要更多動態的方式。也許我對這個問題並不十分清楚。我想獲取所有發佈的表單鍵和關聯標籤。 – Morpheus 2014-09-01 07:58:40

+1

你在這裏指什麼鑰匙?爲標籤將它們標記爲runat = server,並且您可以訪問它們。 – 2014-09-01 07:59:52

+0

發表的表格鍵是輸入值 – Morpheus 2014-09-01 08:02:30

0

變化:

<label runat="server" id="ClientID" for="<%= inpUserName.ClientID%>">Email</label> 
0

你可以找到使用Id var txt = inpUserName.Text;作爲標籤的文本框不能使用,因爲它不是服務器端控件,也不是請求變量(inp例如,值),那麼你不能,除非你使它成爲服務器端,並以相同的方式訪問。