我有一个页面,上面充斥着如下代码:
var textBox = $get("<%=textState.ClientID%>");
这要求我将我的 JavaScript 放在页面中,而不是很好地隐藏在 js 文件中。 对此有更好的方法吗?
document.getElementById 不起作用,因为我最终得到这样的代码:
var textBox = document.getElementById("originDestinationControl_textState");
或
var textBox = document.getElementById("ctl00_ContentPlaceHolder_originDestinationControl_textState");
取决于我在何处引用这些控件(在母版页和/或用户控件内)
最佳答案
我通常将类似这样的内容粘贴到我想使用单独的 js 文件的页面中。
<script type="text/javascript">
var pageNameElements = {
textbox : '<%= textbox.ClientId %>',
button : '<%= button.ClientId %>'
};
</script>
通过这种方式,您可以获得一个漂亮的 javascript 对象,其中包含您可以像这样在 js 文件中使用的所有控件 ID。
$('#' + pageNameElements.textbox)
或
document.getElementById(pageNameElements.textbox)
如果你没有使用 jquery。
关于asp.net - 在 javascript 中抓取 asp.net 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2246595/