我正在研究asp.net项目,每次我需要使用jquery标识符$(#“objectID”)。我必须将每个对象上的ClientIDMode更改为静态。由于我注意到默认的客户端ID模式是Inherit所以我将MainContent Client ID模式设置为静态,并且我发现所有对象都变为静态。
这肯定会在使用jquery时节省大量时间,但我只是想知道这有什么缺点,并且有没有理由为什么ClientIDMode设置为首先不是静态的?
答案 0 :(得分:18)
您需要注意将ClientIDMode设置为静态以用于用户控件之类的操作,或者您最终可能会使用具有相同ID的多个元素。
对于像GridView这样的数据绑定控件,您还需要使用ClientIDRowSuffix属性,以确保区分每一行。
This post有一些很好的例子。
答案 1 :(得分:4)
在JavaScript中处理ID的另一种方法是执行以下操作:
var something = '<%= btnId.ClientID %>';
示例:如果您有这样的按钮控件:
<asp:Button ID="btnId" runat="server"></asp:Button>
并且ID已转换为id="ct100_ContentPlaceHolder1_btnId"
,然后您可以使用变量something
来访问该控件。