可以从javascript文件内部获取ASP.NET控件值
Possible to get an ASP.NET control value from inside of an javascript file?
我想从javascript文件内部获取ASP.NET控件的值。我知道当javascript在aspx页面上时如何做到这一点,但当它在js文件中时却不知道。示例:
<head>
<script type="text/javascript">
alert('<%= lbl_test.Text %>'); //alerts the text of the ASP.NET label
</script>
<script type="text/javascript" src="Scripts/test.js" /> //alerts "<%= lbl_test.Text" %>
</head>
在本例中,test.js中只有alert('<%= lbl_test.Text %>');
我有没有办法重现js文件中第一段javascript中的行为?
你不能这样做,你必须选择
- 从调用javascript文件中函数的aspx页面(some.net页面)传入控件id
或
- 使您的脚本文件实际上是一个.net输出文件。然后你可以嵌入你的代码。例如,将其命名为javscriptwhatever.aspx,但将代码后面的文件内容类型设置为text/javascript,例如这里所述http://social.msdn.microsoft.com/Forums/en-US/jscript/thread/c706d380-9688-4758-9d7e-9522d59d5855
作为@Adam提供的进一步建议,您可以考虑使用#include指令。使用这种方法,您应该能够将.js文件的代码包装在适当的<script>
标记中,并通过#include引用"注入"它:
<head>
<!--#include file="myScript.js"-->
</head>
我还没有测试过,这只是另一种可能性。我不也不一定主张定期使用#includes,而且在大多数情况下都会避免使用它们;但如果你的选择余地很小,它可能会成功。
我认为您最好的选择是首先建议修改脚本,以接受来自本机语言的任何参数,从而避免内联ASP.NET脚本和Javascript的混合。
ASP.NET输出到web浏览器的页面必然是标准HTML/Javascript/CSS。Javascript在web浏览器的客户端运行。因此,使用Javascript可以执行任何您在客户端上正常执行的操作。
标签将输出为跨度。所以你可以这样做:
function getLabelValue(lbl) {
if ( lbl.childNodes.length == 0 )
return null;
var textValue = "";
for ( var i = 0; i < lbl.childNodes.length; i++ )
{
if ( lbl.childNodes[0].nodeType == Node.TEXT_NODE )
textValue += lbl.childNodes[0].nodeValue;
}
return textValue;
}
var lbl = document.getElementById("lbl_test");
var value = getLabelValue(lbl);
alert(value);
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 在asp.net中确认是或否消息
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- asp.net中的验证工具