首页 文章

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

提问于
浏览
1

我在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

2 回答

  • 0

    ContentPlaceHold 中的任何控件将在其中的任何控件的开头添加 ContentPlaceHold name . 所以ctl00是 ContentPlaceHoldID 并且控件将是ctl00 _txtMsg检查这个article

  • 0

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

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

相关问题