繁体   English   中英

当runat =“Server”被设置时,Asp.net文本框没有chaning ID

[英]Asp.net textbox not chaning ID while runat=“Server” is set

我在asp.net网站的主页面上有一个下面的控件。

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

在浏览器视图页面的测试站点上,它显示在Tag(更改的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文件都是一样的。 它背后的原因是什么?

我正在使用Framework 4.0

ContentPlaceHold任何控件将在其中的任何控件的开头添加ContentPlaceHold名称。 所以ctl00是ContentPlaceHoldID ,控件将是ctl00 _txtMsg检查这篇文章

检查是否在本地web.config AutoId clientIDMode设置为AutoId 如果它没有在生产web.config中设置我认为它可能使用clientIdMode="Static"来解释不同的行为。

有关ClientIdMode的更多信息: https ://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode( v= vs.110).aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM