我的问题与母版页和 id 标签有关。如果我们在一个单独的文件中有一个名为tbxName的 html 控件,并且我们将它嵌入到母版页中,它就变成了MasterPage_tbxName。
所以我知道有两种方法可以引用这个项目。. .
直接命名法
$('#MasterPage_tbxName')
以及更安全的块代码方法
$('#<%=tbxName.ClientID%>')
更安全的块代码方法是否会在每次生成页面时征收资源税?
我的问题与母版页和 id 标签有关。如果我们在一个单独的文件中有一个名为tbxName的 html 控件,并且我们将它嵌入到母版页中,它就变成了MasterPage_tbxName。
所以我知道有两种方法可以引用这个项目。. .
直接命名法
$('#MasterPage_tbxName')
以及更安全的块代码方法
$('#<%=tbxName.ClientID%>')
更安全的块代码方法是否会在每次生成页面时征收资源税?
解析器确实需要一些时间来解析您的 <%=tbxName.ClientID%> 标记,但这只是纳秒级的问题,您不必太担心。我的意思是,这是构建服务器端 Web 语言的目的,这是它们的狭隘目的之一。
问候。
您可以使用 'ends with' jQuery ID 选择器,例如...
$('[ID$="_tbxName"]')
我想这不是很有效,但仍然需要,哦,好 2 毫秒。
但是,如果这是一个问题,那么您只需将该控件缓存在您的 JS 文件中,例如...
var $tbxName = $('[ID$="_tbxName"]');
然后简单的引用$tbxName
,就不需要再执行jQuery选择器了。
此外,您建议这样做的事实$('#<%=tbxName.ClientID%>')
表明您的 JS 实际上在您的 .aspx 文件中 - 我建议将您的 JS 放入单独的 .js 文件中并使用<script>
.aspx 中的标签进行引用。