簡體   English   中英

如何獲取基於控制器名稱的文本框值?

[英]How can I get the textbox value based on the name in controller?

有誰知道如何根據控制器中的名稱獲取文本框值?

例:

<asp:TextBox runat="server" ID="stDate" Text='<%# Eval("StartDate")%>' Width="6em" />

當我從源代碼中讀取時,它顯示如下:

<input name="ctl00$cplh$GridView1$ctl10$stDate" type="text" id="stDate" style="width:6em;" />

如何獲取基於控制器中名稱ctl00$cplh$GridView1$ctl10$stDate文本框值?

注意:之所以要這樣做,是因為我有1個以上的文本框正在使用相同的ID(stDate)

要獲取頁面上生成的ID,您必須獲取ClientID

stDate.ClientID

我有幾點建議:

  • ID必須是唯一的,您應該為頁面中的每個控制器分配唯一的標識符。
  • .NET需要掛鈎到控件-因此,如果要由.NET創建名稱,則需要設置名稱(即使嘗試強制使用它也無法更改)。
  • 如果要在控制器之間分配通用名稱,請使用屬性類,例如: <input id="txtbox1" class="commonController" type="text" value="input1"> <input id="txtbox2" class="commonController borderClass" type="text" value="input2">

pd:請記住,您可以為一個控制器分配多個類。

  • 還請記住, id僅用於客戶端DOM操作...瀏覽器實際發布內容時需要name

如果您想了解更多信息,請在此處此處

如果使用ASP.NET 4,則可以在文本框上將ClientIDMode設置為static,然后asp保留ID的設置。

<asp:TextBox runat="server" ID="stdate" ClientIDMode="Static" />

如果您需要在客戶端腳本中使用文本框,這會有所幫助。 是一篇文章。 您將需要確保該ID是唯一的,然后,如果需要通用名稱,最好使用Luis建議的類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM