Asp.net 为什么在使用母版页时所有元素都被重命名?
我不明白这为什么有用。我有一个母版页和一个名为Main的内容持有者,还有一个内容页和一个匹配的内容标签。但是,我注意到,当页面组合在一起时,我的一些元素的ID会发生变化,或者我应该说是反常的,比如:Asp.net 为什么在使用母版页时所有元素都被重命名?,asp.net,master-pages,Asp.net,Master Pages,我不明白这为什么有用。我有一个母版页和一个名为Main的内容持有者,还有一个内容页和一个匹配的内容标签。但是,我注意到,当页面组合在一起时,我的一些元素的ID会发生变化,或者我应该说是反常的,比如: <input value="fizz-buzz" name="ctl00$Main$options" type="radio" id="Main_foobar"/> 这对我的css造成了严重影响。请提供帮助。这是为了确保来自不同来源的多个ID始终具有唯一的名称 在ASP.NET 4
<input value="fizz-buzz" name="ctl00$Main$options" type="radio" id="Main_foobar"/>
这对我的css造成了严重影响。请提供帮助。这是为了确保来自不同来源的多个ID始终具有唯一的名称
在ASP.NET 4.0中,您可以将ClientIDMode设置为static,并且不会重命名控件。这是为了确保来自不同来源的多个ID始终具有唯一的名称
在ASP.NET 4.0中,您可以将ClientIDMode设置为静态,并且控件不会被重命名。这就是ASP.NET中的情况(直到3.5)。这是为了避免添加到不同内容占位符的控件的重复ID和名称
在ASP.net 4.0中,您可以控制控件ID的生成方式。这就是ASP.net中的情况(直到3.5)。这是为了避免添加到不同内容占位符的控件的重复ID和名称
在ASP.net 4.0中,您可以控制控件ID的生成方式。当您需要自定义ASP.net控件的样式时,始终设置其CSCLASS属性并在样式表中引用它,即使该控件是唯一的。类名永远不会更改。当您需要自定义ASP.net控件的样式时,始终设置其CssClass属性并在样式表中引用它,即使该控件是唯一的。类名永远不会改变。如果你一直停留在3.5上,无法升级到4.0,我会在codeplex上提供一个解决方案,我已经使用了多年 几天前刚刚上传了它,但基本上它将您指定的所有控件序列化到HTML文档上的Json数组中,以便在JavaScript中使用 我在这里写了一篇关于它的文章: 您可以注册HTTPModule,也可以在PreRenderComplete上逐页显示和序列化页面,最终会在文档中出现一个JavaScript块,如下所示:
<script type=”text/javascript”>
//<![CDATA[
var controls = {
"txtUserName": "ctl00_ContentPlaceHolder1_txtUserName",
"txtEmail": "ctl00_ContentPlaceHolder1_txtEmail",
"btnSubmit": "ctl00_ContentPlaceHolder1_btnSubmit"
};
//]]>
</script>
//
然后,在编写JavaScript时,您可以执行以下操作:
<script type=”text/javascript”>
//<![CDATA[
var element = document.getElementById(controls.btnSubmit);
//]]>
</script>
//
如果你被困在3.5上,无法升级到4.0,我会在codeplex上放一个我已经使用多年的解决方案
几天前刚刚上传了它,但基本上它将您指定的所有控件序列化到HTML文档上的Json数组中,以便在JavaScript中使用
我在这里写了一篇关于它的文章:
您可以注册HTTPModule,也可以在PreRenderComplete上逐页显示和序列化页面,最终会在文档中出现一个JavaScript块,如下所示:
<script type=”text/javascript”>
//<![CDATA[
var controls = {
"txtUserName": "ctl00_ContentPlaceHolder1_txtUserName",
"txtEmail": "ctl00_ContentPlaceHolder1_txtEmail",
"btnSubmit": "ctl00_ContentPlaceHolder1_btnSubmit"
};
//]]>
</script>
//
然后,在编写JavaScript时,您可以执行以下操作:
<script type=”text/javascript”>
//<![CDATA[
var element = document.getElementById(controls.btnSubmit);
//]]>
</script>
//
很高兴知道。在我的例子中,我根本没有使用ASP.net控件,但仍然使用有用的信息。谢谢。考虑到这会降低CSS选择器引擎的性能,我可能不鼓励这个建议。ID查找是一种简单的哈希查找,但基于类的选择器需要花费更多的时间来解决。很高兴知道。在我的例子中,我根本没有使用ASP.net控件,但仍然使用有用的信息。谢谢。考虑到这会降低CSS选择器引擎的性能,我可能不鼓励这个建议。ID查找是一种简单的哈希查找,但是基于类的选择器需要花费更多的时间来解析。这有助于ID而不是名称?这有助于ID而不是名称?