贴部分代码//初始化页面
function intiPage() {
    if ('<%=Request["actionId"] %>' != "") {
        treeList('<%=Request["type"] %>');
        showInfo('<%=Request["actionId"] %>', '<%=Request["type"] %>');
    }
    else {
        treeList("dept");
    }
} //end initPage
如果将这个放在<titile>里面,OK没问题,正常运行。
但是如果放在a.js文件,然后引用过来,报错。
麻烦各位帮帮忙,看看这个问题该怎么解决?

解决方案 »

  1.   

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

  2.   

    本人拙见
    事件执行先后顺序同楼上alert
      

  3.   

    似乎没什么好的办法,如果你仅只是单纯的取查询字符串值,可以换成 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('='));
                }
            }
        }
      

  4.   

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

  5.   

    没测试过,但我觉得应该是在 aspx 这样会被服务端解析的文件里才能被替换掉。所以,建议分离出去的js通过参数传递的方式调用。
      

  6.   


    正解! aspx 实际上是编译成一个类 在Request["key"]是C#语法,也就是说Request["key"]是在.net 类中运行的  在JS中怎么可能会执行C#语法
      

  7.   

    //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>
      

  8.   

    你这个也许是外部文件没有被加载进来刚才我碰到的问题是:外部文件修改后,加载时却依然是旧文件
    解决方案参考:http://topic.csdn.net/u/20111226/11/6735bf77-f783-4228-a8a6-d5f8705b2ff0.html?16371
      

  9.   

    你不能那么做的。解决方法有2个:
    1,
    采用<script src="js.aspx?actionId=xxx&actionType=xxxx"></script>这种方法调用输出js内容才可以使用<%%>代码方法2:把那些变量抽取出来做为参数或者aspx页面中传递参数