用记事本建立一个.aspx文件:
------------------
<%@ Page language="C#" runat="server" %>
<%
Response.Write("OK"); 
%>
------------------
执行没有任何问题,正常输出:“OK”
但改成下面形式:<%@ Page language="C#" %>
<script  runat="Server" >
  Response.Write("OK"); 
</script>则出现错误:CS1519: 类、结构或接口成员声明中的标记“(”无效
--------------------------------再改成:
<%@ Page language="C#" runat="Server" %>
<script   >
  Response.Write("OK"); 
</script>则没有错误,但输出空白页面,看不到“OK”字样。
 
谁解释得清其中原因?

解决方案 »

  1.   


    <script runat="server" type="text/C#">
            protected void Page_Load(object sender, EventArgs e)
            {
                Response.Write("OK");
            }
        </script>
      

  2.   


    <script> 
      document.write("OK");  
    </script> 
      

  3.   

    <script   > 。。
    这个标记应是客户端的脚本。<%%>这个标记应是服务器端执行的脚本。而Response对象也是服务端执行的对象,写到客户端脚本中只能是对象未定义了。应该使用:window.alert()或window.confirm之类的方法。
      

  4.   

    <script> 
      alert("OK");  
    </script>
      

  5.   

    <%
    Response.Write("OK"); 
    %> 
    与<%= "OK" %>效果一样,打印服务器端数据
    <script  runat="Server" >
      Response.Write("OK"); 
    </script> 
    应该写在事件处理函数中,如:
    <script runat="server">
    private void Page_Load(object sender, EventArgs e)
    {
       Response.Write("OK");
    }
    </script>
    <script>
      Response.Write("OK"); 
    </script> 
    与第一种情况一样.  这里<script>是客户端标签,服务器不认识
      

  6.   

    <script>......</script>
    这个标记应是客户端的脚本。 
    <%%>在服务器端执行,纯是asp语言,现在.net中几乎是不用了。
     
      

  7.   

    <%%>是调用服务端
    Response是在有Request即请求后才存在的对象,只能在后台代码用,
    页面直接调用的时候,会报空引用一场吧
      

  8.   

    还是自己公布错误原因吧,以免让其他朋友碰到同样问题时再去伤脑筋:
    <script language="VBscript"  runat="server">
      Response.write("OK") 
    </script>将这段代码保存为老的asp文件,那么什么问题都没有;但如果改成<script language="C#"  runat="server">
      Response.Write("OK");
    </script>并保存为.aspx文件,则立马出错!======================================================================
    原因在这里:ASP.NET 中,<script language="C#" runat="server">
    ...
    <script>被称为“代码声明块”,“代码声明块”中是不允许加入独立的代码,而只能在其中定义函数(准确地说是:方法),然后供<%...%>中的独立代码调用。而在老的ASP中是没有这样的限制的!