我有一个简单的asp.net页面,带有一个asp.net链接按钮和asp.net内容标签,它指向一个带有asp.net内容占位符和表单标签的简单asp.net母版页。下面是这两个项目的代码:什么时候添加了ctl00前缀?
的Site.Master:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="WebApplication1.SiteMaster" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form runat="server">
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</form>
</body>
</html>
的Default.aspx:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
</asp:Content>
出于某种原因,当我们在一台服务器的ID上运行这个简单的Web应用程序链接bhutton得到的是MainContent_LinkButton1 ,当我们在另一台服务器上运行此应用时,链接按钮获得的id是_ctl0_MainContent_LinkButton1
Doese有人有一个idia为什么我们得到前缀ctl0在一个特定的服务器和另一个服务器我们不明白吗?
好的答案,我的个人偏好是从持有ClientIDs的代码注册一个JS对象,我不喜欢<%= %>语法,但各自为己! – Liath
谢谢,这个答案很有帮助。我已阅读您发送的链接。这并不能解释为什么在某些服务器上我得到前缀,而在其他服务器(相同的操作系统,相同的IIS,甚至使用相同的数据库)中,我没有得到这个前缀。 –