2016-09-26 56 views
1

我在asp.net網站的母版頁中有一個下面的控件。Asp.net文本框沒有chaning id而runat =「服務器」設置

<asp:TextBox ID="txtMsg12" runat="server" Text="" Style="display: none"></asp:TextBox> 

在瀏覽器中的視圖頁面試驗場它顯示如下標籤(改變ID和姓名監守RUNAT服務器)。

<input name="ctl00$txtMsg12" type="text" value="a" id="ctl00_txtMsg"... 

但在生產它顯示下面呈現的HTML代碼(僅名稱更改爲ID)

<input name="ctl00$txtMsg12" type="text" value="a" id="txtMsg12" 

我已經檢查了所有的ASPX和CS文件都是一樣的。它背後的原因是什麼?

我使用的框架4.0

+0

有後面爲什麼要用於標識一致的命名理由嗎? – Win

+0

是的,它已被用於JavaScript多個地方。我可以使用Clientmode = static並移動,但不知道背後的原因是什麼。 –

回答

0

當任何控制在ContentPlaceHold將在它裏面的任何控制開始添加ContentPlaceHold名。所以ctl00是ContentPlaceHoldID和控制將ctl00 _txtMsg檢查這article

+0

正確。但我的問題是爲什麼它在測試網站比生產不同。如果您再次查看我的帖子並查看呈現的輸入標籤,那麼您會發現該名稱在生產中發生更改,但ID不是。 –

相關問題