有什么方法可以防止母版页更改元素ID?

Mic*_*ren 6 asp.net master-pages asp.net-3.5

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

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

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

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

Jos*_*lio 5

一篇文章已经回答了这个问题:删除MasterPage生成的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
Run Code Online (Sandbox Code Playgroud)