asp.net – 什么方法可以防止母版页更改元素ID?

我正在考虑将母版页添加到现有网站,但发现一旦我这样做,元素的ID就会附加代码(例如ctl00_MainPageContent_).

不幸的是,这会破坏页面上使用原始未修改元素ID的现有脚本.

我意识到我可以用<%= Element.ClientID%>替换它.但如果我完全禁用这种行为,那就太棒了.

那么,我可以保留原始ID吗?

解决方法

上一篇文章已经回答了这个问题: Remove MasterPage Generated ID

解决方案使用以下代码覆盖Render事件:

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
    Dim Html As New StringWriter()
    Dim Render As New HtmlTextWriter(Html)
    MyBase.Render(Render)
    writer.Write(Html.ToString().Replace("name=""ctl00$ContentBody$",_ 
                  "name=""").Replace("id=""ctl00_ContentBody_","id="""))
End Sub

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...