如何禁用/覆盖内容页面控件 ID 的命名容器 ID 生成

2024-05-16

我们有一个现有的 ASP.Net Web 应用程序,我们希望使用母版页将其转换为该应用程序。 在执行此操作的过程中,我发现为 HTML 元素生成的 HTML id 以 ContentPlaceHolder 的 id 为前缀。这就是当我们设置 ContentPlaceHolder 的 clientidmode=static 时可以预期的结果。 现在,由于我们有很多使用 id 的现有客户端脚本,因此当我们使用母版页时,这部分会中断,并且运行所有 javascript 以确保我们使用 Control.ClientID 调用 javascript 是一项相当大的工作,因为其中很多都是硬编码的。

有没有办法禁用前缀?如果我创建每个控件设置其 ClientIdMode=static,我可以成功地做到这一点,但我还是更喜欢设置一次,以确保所有控件的 ClientIdMode=static。那可能吗?或者是否可以覆盖 ContentPlaceHolder 的 NamingContainer?

该平台是.Net 4.0

(按照下面的答案中所述在 web.config 中使用 ClientIdMode=static 解决上述问题后),我遇到了“name”属性是自动生成的问题,并且没有设置为我介绍之前的值母版页。这给我现有的服务器代码带来了问题,其中有很多 Request.Form[]。知道解决这个问题的最佳实践是什么吗?

谢谢 圣战


你可以有ClientIDMode在页面级别:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" ClientIDMode="Static" %>

母版页级别:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" ClientIDMode="Static" %>

和Web.Config级别(使所有页面继承此行为):

<system.web>
    <compilation debug="true" targetFramework="4.0"/>
    <pages clientIDMode="Static"></pages>
</system.web>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁用/覆盖内容页面控件 ID 的命名容器 ID 生成 的相关文章

  • 比较 2 个 linq 应用程序:意外结果

    我起草了2 ASP NET应用程序 using LINQ 一个连接到微软SQL服务器 另一个对某些专有内存结构 这两个应用程序都可以使用以下表格3 个 int 字段 有500 000 条记录 内存结构与 SQL Server 表相同 使用的
  • 我可以在 Orchard CMS 中使用我的 Ninject .NET 项目吗?

    我正在使用 Orchard CMS 创建一个网站 并且有一个用 Ninject 编写的外部 NET 项目 用于依赖注入 我想将其与 Orchard CMS 中的模块一起使用 我知道 Orchard 使用 Autofac 进行依赖注入 这给我
  • 如何将 GWT 与 Visual Studio 一起使用来创建 ASP.NET 网站?

    如何将 GWT 与 Visual Studio 一起使用来创建 ASP NET 网站 如果可能 GWT 可以与任何后端一起使用 只需做一些工作 它开箱即用 使用 servlet 容器 但您不需要保留此容器 容器中的关键项是加载GWT编译代码
  • 在 ServiceStack 中使用 ASP.NET 成员资格

    我该如何使用ASP NET 会员资格 in 服务栈 http www servicestack net ServiceStack OrmLite ServiceStack Host AspNet 等 您可以将 ServiceStack 托管
  • 大表的最佳主键格式

    我正在开发一个 ASP NET 应用程序 它有一些可能很大的数据表 我想知道定义主键的最佳方法是什么 我知道以前已经有人问过这个问题 但由于这是针对特定情况的 所以我认为这个问题是有效的 我在 SQL Server 2008 数据库上使用实
  • ASP.NET 显示 SVN 修订号

    我在 Stack Overflow 页脚中看到显示了 SVN 修订号 这是自动化的吗 如果是的话 如何在 ASP NET 中实现它 其他语言的解决方案也是可以接受的 确保该文件有 svn keywords Rev Id 然后把 Rev 在那
  • 当前上下文中不存在名称“DefaultAuthenticationTypes”

    我正在尝试在我的 Web 应用程序中实现基于角色的授权 如下所示 HttpPost ActionName Login public ActionResult Login LoginViewModel model if ModelState
  • .net Framework 4.0 中地理 SQL Server 数据类型的 C# 等效项是什么?

    net web应用程序使用 net 4 0框架 我有一个存储过程 它接受 sql server 2008 R2 中的地理数据类型 我想将 C 代码中的数据插入 SQL Server 但我无法找到应在 C 中使用哪种与 SQL Server
  • ADO.NET 池连接无法重用

    我正在开发一个 ASP NET MVC 应用程序 该应用程序使用 EF 6 x 来处理我的 Azure SDL 数据库 最近 随着负载的增加 应用程序开始进入无法再与 SQL 服务器通信的状态 我可以看到有 100 个到我的数据库的活动连接
  • 如何通过ConfigurationManager找到配置文件位置?

    如何通过ConfigurationManager找到配置文件位置 我在代码中有 ConfigurationManager 类 并且正在调试它 我想知道它指向哪个配置文件 web config 或 app config 等 Configura
  • 无需登录即可在 Intranet 上获取 Web 应用程序的域\用户名

    我的 Intranet 上有一个 Web 应用程序 VS 2005 有几个页面不需要用户登录应用程序 反馈和默认页面 我正在尝试获取要显示和 或发送反馈的域名和用户名 有没有一种方法可以在不需要用户登录的情况下执行此操作 我试过了this
  • ASP.NET 3.5 更新至 4.0 -> Sys.WebForms.PageRequestManager 未定义

    正如标题所示 我最近将包含 UpdatePanels 和类似 AJAX 技术的 ASP NET 3 5 应用程序更新为 ASP NET 4 0 不幸的是 UpdatePanel 不再起作用 整页回发使一切都变得糟糕 Web config 文
  • EnableEventValidation="false" - 好主意吗? [复制]

    这个问题在这里已经有答案了 可能的重复 的目的 https stackoverflow com questions 1503630 purpose for pages enableeventvalidation false 我还有另一个相关
  • Application Insights 快照调试器:快照不是从 .NET 完整框架站点推送的

    我创建了一个全新的 Web 应用程序 NET Full Framework 4 7 2 添加了 Application Insights 快照收集器 但快照未推送到服务器 我什至没有得到Don t see the snapshot trou
  • UpdatePanel 破坏 JQuery 脚本

    这是我想做的事情的简化版本 基本上我有一个数据列表 里面有很多东西 当你将鼠标悬停在数据列表中的项目上时 我希望 jquery 隐藏 显示东西 问题是 在我进行数据绑定后 如果 gridview repeater datalist 位于更新
  • 哈希密码如何解密? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在我的网站中使用盐技术的 SHA1 算法对密码进行哈希处理 有什么办法可以解密密码并恢复原来的密码吗 Hashing不加密 解密 当我们
  • 如何从网站的 .NET 安装程序中排除文件夹?

    我们的网站有一个安装程序 效果很好 我在创建安装程序时排除了 web config 和其他一些文件 但是我似乎无法排除文件夹 这可能吗 我已使用 NET 内置 Web 安装项目创建了安装程序 该项目可在新项目对话框中的 Visual Stu
  • 多线程 Web 应用程序

    我知道有很多情况都是在应用程序中使用多线程的好例子 但是什么时候最好在 net Web 应用程序中使用多线程 Web 应用程序几乎肯定已经由托管环境 IIS 等 实现多线程化 如果您的页面受 CPU 限制 并且想要使用多个核心 那么可以说多
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • 如何隐藏数据列表中的项目

    我想隐藏一个项目datalist根据某种条件起诉ItemBound how Wrap a PlaceHolder控制整个内容ItemTemplate 然后在 ItemDataBound 事件中 您可以执行以下操作 Protected Sub

随机推荐