在 ASP.NET 页中,函数和变量应当在 <script> 块内定义,而可执行代码必须括在 <% %> 块内。
为何,我直接在aspx页面的源中直接用<% XXX(); %>,XXX()是脚本语言的函数。
然后看到官方的msdn的例子就更郁闷
贴到aspx中直接报出“错误:由于先前已在此页中指定了另一种语言(或者由 CodeFile 属性暗示),因此无法使用”
代码如下<script runat="server" language="JScript">
   function popup(str) {
      Response.Write("<scr"+"ipt> alert('"+str+"') </scr"+"ipt>");
   }
   var today = new Date();
</script>
<% popup(today); %>

解决方案 »

  1.   

    你JS里面可以直接alert(str);
    <%= popup(today); %>
      

  2.   

    首先<%= popup(today); %>这个不行,其次能直接用,这个我知道,但是我想知道原因
      

  3.   

    <script runat="server" language="JScript">
    这句表示,你的asp.net脚本语言是JScript,而不是c#。所以请你换一篇文章看吧
      

  4.   

    贴到aspx中直接报出“错误:由于先前已在此页中指定了另一种语言
    你aspx里用的是c#、但这是用Jscript写的,当然出错了。
      

  5.   

    <script runat="server">
        void popup(string var)
        {
            Response.Write(var);
        }
    </script>
    <% popup(DateTime.Now.ToString()); %>这样就可以了,谢谢楼上的解答