外部引用JS文件包含<%=%>,给一个解决方案吧!!

戒烟戒酒戒编程 2011-12-26 11:13:35
贴部分代码

//初始化页面
function intiPage() {
if ('<%=Request["actionId"] %>' != "") {
treeList('<%=Request["type"] %>');
showInfo('<%=Request["actionId"] %>', '<%=Request["type"] %>');
}
else {
treeList("dept");
}
} //end initPage


如果将这个放在<titile>里面,OK没问题,正常运行。
但是如果放在a.js文件,然后引用过来,报错。
麻烦各位帮帮忙,看看这个问题该怎么解决?
...全文
208 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ijwsoft 2011-12-26
  • 打赏
  • 举报
回复
你这个也许是外部文件没有被加载进来

刚才我碰到的问题是:外部文件修改后,加载时却依然是旧文件
解决方案参考:

http://topic.csdn.net/u/20111226/11/6735bf77-f783-4228-a8a6-d5f8705b2ff0.html?16371
NqIceCoffee 2011-12-26
  • 打赏
  • 举报
回复
//a.js
//初始化页面
function intiPage(args) {
if (args.actionid != "") {
treeList(args.type);
showInfo(args.actionid, args.type);
}
else {
treeList("dept");
}
} //end initPage


index.aspx
<script src="a.js"></script>
<script>
var args = { 'actionid':'<%= Request["actionId"] %>','type':'<%= Request["actionId"] %>' }
intiPage(args) ;
</script>
w290601645 2011-12-26
  • 打赏
  • 举报
回复


我的愚见
w290601645 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 orain 的回复:]

引用 1 楼 weiying154979554 的回复:

本人拙见是这个应该是存在一个页面先后加载的问题。。。。请LZ放对位置,alert一下看看。。

呵呵,不可能的,单独放 JS 文件后,不能再使用任何 C# 的语法。简单来说,.NET 只是当 JS 文件是一个文本文件而已,它不会对此进行编译。
[/Quote]

正解! aspx 实际上是编译成一个类 在Request["key"]是C#语法,也就是说Request["key"]是在.net 类中运行的 在JS中怎么可能会执行C#语法
机器人 2011-12-26
  • 打赏
  • 举报
回复
没测试过,但我觉得应该是在 aspx 这样会被服务端解析的文件里才能被替换掉。

所以,建议分离出去的js通过参数传递的方式调用。

orain 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 weiying154979554 的回复:]

本人拙见是这个应该是存在一个页面先后加载的问题。。。。请LZ放对位置,alert一下看看。。
[/Quote]
呵呵,不可能的,单独放 JS 文件后,不能再使用任何 C# 的语法。简单来说,.NET 只是当 JS 文件是一个文本文件而已,它不会对此进行编译。
orain 2011-12-26
  • 打赏
  • 举报
回复
似乎没什么好的办法,如果你仅只是单纯的取查询字符串值,可以换成 JS 来取

function queryString(key) {
var querys = location.search;
if (!querys)
return null;

key = key.toLowerCase();
querys = querys.substring(1).split('&');

for (var i = 0, len = querys.length; i < len; ++i) {
var q = querys[i];
if (!q)
continue;

q = q.split('=');
if (q[0].toLowerCase() == key) {
q.shift();
return decodeURIComponent(q.join('='));
}
}
}
  • 打赏
  • 举报
回复
本人拙见
事件执行先后顺序

同楼上alert
weiying154979554 2011-12-26
  • 打赏
  • 举报
回复
本人拙见是这个应该是存在一个页面先后加载的问题。。。。请LZ放对位置,alert一下看看。。
孟子E章 2011-12-26
  • 打赏
  • 举报
回复
你不能那么做的。解决方法有2个:
1,
采用<script src="js.aspx?actionId=xxx&actionType=xxxx"></script>这种方法调用输出js内容才可以使用<%%>代码

方法2:把那些变量抽取出来做为参数或者aspx页面中传递参数

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧