asp.net - 在 javascript 中抓取 asp.net 控件

标签 asp.net javascript

我有一个页面,上面充斥着如下代码:

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/

相关文章:

javascript - :selectoneradio not selected item in Javascript

c# - MS Access 的 INSERT INTO 语句中的语法错误

javascript - window.location.href 导航出我的网站

javascript - Jquery - 在客户端浏览器尝试下载图像之前删除图像

javascript - 使用 $scope.$new 继承来隔离作用域功能?

javascript - Jasmine spyOn 在 AngularJS 指令上无法正常工作

c# - 你能在Web.Config中输入 "using"吗?

c# - ASP.net 文本框居中文本

html - Asp.Net gridview 行空间

asp.net - 使用 IIS 5.1 运行 asp.net 4.0