我在asp上工作.net项目,每次我需要使用jquery标识符$(#"objectID").我必须将每个对象上的ClientMode更改为静态.因为我注意到默认的客户机ID模式是Inherit,所以我将MainContent客户机ID模式设置为静态,我发现所有对象都变成了静态.

在使用jquery时,这肯定会节省很多时间,但我只想知道这有什么缺点,以及为什么ClientIDMode一开始不应该设置为静态?

推荐答案

对于用户控件之类的东西,您需要小心地将ClientIDMode设置为Static,否则最终可能会得到具有相同ID的多个元素.

对于像GridView这样的数据绑定控件,您还需要使用ClientIDRowSuffix属性来确保各行是不同的.

This post有一些很好的例子.

Asp.net相关问答推荐

Razor页面上@Foreach的正确语法,其中值可以等于多个值

Web 服务器配置为不列出此目录的内容. asp.net vs 2012 错误?

在 appSettings 中存储字符串数组?

是否可以使用 Membership API 更改用户名

SameSite 属性如何自动添加到我的 Asp.net_SessionID cookie 中?

如何在 ASP.NET Web 窗体中使用依赖注入

如何在txt文件中保存异常?

HttpContext.Current.Request.IsAuthenticated 和 HttpContext.Current.User.Identity.IsAuthenticated 有什么区别?

免费的 ASP.Net 和/或 CSS 主题

如何配置 ELMAH 以使用 Windows Azure?我在 Elmah.axd 上得到 404

在asp.net控件之间动态添加

<%# Eval("State") %> 或 <%# DataBinder.Eval(Container.DataItem, "state")%>

InvalidOperationException:无法为角色创建 DbSet,因为此类型未包含在上下文模型中

错误请求 - 无效的主机名 ASP.net Visual Studio 2015

ASP.NET 身份,需要强密码

如何进入 IIS 管理器?

如何使用 ConfigurationManager.AppSettings

如何清除 System.Runtime.Caching.MemoryCache

DataTable 不包含 AsEnumerable 的定义

如何在不遍历每个循环的情况下从字典对象中获取所有键(仅键)