[英]Need workaround for .Net Master Page Name Mangling
我正在评估将基于旧框架集的asp.net网站转换为使用母版页。 阻碍我的唯一事情是更新每一页以处理名称错误所需的大量工作。 我的大部分问题都是javascript引用硬编码的Id。
有没有办法让我告诉ASP.Net,对于特定的内容区域我不希望发生错误。 留给我处理名称冲突。
注意
我知道.Net 4.0有一个解决方案, 详见此处 。 我想要一个不涉及等待的解决方案,需要.Net 3.5。
更新
有关开源替代主页的任何建议会让我直到.Net 4.0? 或者如何解决破解工作的黑客工作解决方案。 谢谢
唯一“支持”的方法是不使用定义为“runat =”server“”的元素。 否则,.NET 4.0是第一次为您提供一致的,受支持的机制来进行此更改。
您可以通过其他方式绕过这个,但没有什么是容易/快速实现的。
一种方法是使用一些服务器生成的JavaScript将生成的ID与更友好的名称相关联。 您可以使用ClientID属性访问生成的ID。 例如:
<asp:Label runat="server" ID="myInfo" Text="Initial text" />
<script type="text/javascript">
function RegObj(clientId, anId) {
eval('window.' + clientId + ' = document.getElementById(anId)');
}
RegObj('mytext', '<%= myInfo.ClientID %>');
mytext.innerHTML = 'my text';
</script>
此报告的ID包括由母版页,嵌套控件等完成的任何修改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.