正在更改asp.net中前缀为“ct100”的控件ID
检查我的页面控件id时,类似于-ContentPlaceHolder1\u lnkDistributors 但是,在live server中托管我的站点之后,前缀将添加到上面的ID中 例如:ctl00\u内容占位符1\u lnkDistributors 请帮帮我。 感谢您的支持。我已将clientmode=Static添加到母版页正在更改asp.net中前缀为“ct100”的控件ID,asp.net,Asp.net,检查我的页面控件id时,类似于-ContentPlaceHolder1\u lnkDistributors 但是,在live server中托管我的站点之后,前缀将添加到上面的ID中 例如:ctl00\u内容占位符1\u lnkDistributors 请帮帮我。 感谢您的支持。我已将clientmode=Static添加到母版页 <%@ Master ClientIDMode="Static".... 这里的ID是这样的:仅lnkDistributors,而不像ContentPlac
<%@ Master ClientIDMode="Static"....
这里的ID是这样的:仅lnkDistributors,而不像ContentPlaceholder 1\u lnkDistributors或ctl00\u ContentPlaceholder 1\u lnkDistributors
现在它可以正常工作了。静态ClientMode用于控制HTML中的ID;但您必须小心使用它:它并不能保证页面中控件ID的唯一性
<asp:LinkButton ID="lnkDistributors" ClientIDMode="Static"
runat="server" Text="Distributors"> </asp:LinkButton>
如果控件的ClientIDMode设置为AutoID,则该控件的ID将具有前缀以使其唯一。e、 g.ID为sam的控件将成为ct100_sam。
如果控件的ClientIDMode设置为Static,则ID不会更改,并与开发人员设置的ID保持一致
ASP.NET为如何生成ClientID属性值提供了多种算法。通过设置控件的ClientIDMode属性,可以选择要用于控件的算法。这些算法由下表中列出的ClientIDMode枚举值标识
自动识别
ClientID值是通过将每个父命名容器的ID值与
控制在数据绑定场景中,多个
控件,则在
控件的ID值。每个段用下划线分隔
字符。此算法已在早期版本的ASP.NET中使用
而不是ASP.NET4
静止的
ClientID值设置为ID属性的值。如果控件是命名容器,则该控件将用作顶部
指定的任何控件的命名容器层次结构
包含
可预测的
此算法用于数据绑定控件中的控件。ClientID值是通过连接生成的
ID值为的父命名容器的ClientID值
控制。如果控件是生成
多行中指定的数据字段的值
ClientDrowSuffix属性添加到末尾。对于GridView
控件,可以指定多个数据字段。如果
ClientIDRowSuffix属性为空,将在
结束,而不是数据字段值。这个数字从零开始,从零开始
每行递增1。每个段由一个
下划线字符
继承
该控件继承其NamingContainer控件的ClientMode设置。页面的ClientIDMode的默认值
这是可以预测的。控件的ClientIDMode的默认值为
继承由于控件的默认值为Inherit,因此默认值为
生成模式是可预测的。但是,如果您使用VisualStudio
将Web项目从早期版本Visual转换为ASP.NET 4
Studio会在Web.config中将网站默认设置为AutoID
文件
您可以在页面或应用程序级别禁用ASP.NET应用程序中的Id自动递增功能。对于页面级别,在@master指令中添加clientdmode=Static。对于应用程序级别,将clientdmode=Static添加到web.config 什么ASP.NET版本?为什么需要客户ID?在javascript中使用它?
<asp:LinkButton ID="lnkDistributors" ClientIDMode="Static"
runat="server" Text="Distributors"> </asp:LinkButton>