我有一個簡單的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,甚至使用相同的數據庫)中,我沒有得到這個前綴。 –