今天看到一题目,可是我很久没写程序,机上又没有相关软件,各位帮忙看看,我看不出有错(惭愧)以下代码能否通过编译?如果不能,请改成正确代码,并说明原因
<html>
   <%
       int subtract(int num1, int num2) {
          return num1-num2;
       }
   %>
   <body>
      <% 
         int number = 100;
         while (number > 0) {
            Response.Write("Value: " + number + "<br>");
            number = subtract(number, 1);
         }
      %>
   </body>
</html>

解决方案 »

  1.   

    帮帮忙!!
      是前面没有加<language c#>之类的吗?很久前用嵌套的,都是用CodeBehind。
     是一道面试题。
      

  2.   

    <%@ Page Language="C#" %>
    <html>
      <body>
      <script runat="server">       int subtract(int num1, int num2) {         return (num1-num2);
           } </script>
      <script runat="server">
      void Page_load(){
             int number = 100;
             while (number>0) {
                Response.Write("Value: " + number + "<br>");
                number = subtract(number, 1);
             }
    }
      </script>
       </body>
    </html>
      

  3.   

    你这是代码块的混如HTML标签的写法,不能编译
      

  4.   

    当然有错,asp.net中函数是不能放在<% %>块中的
      

  5.   

    这样就可以
    <%@ Page language="c#" %>
    <html>
    <script runat ="server">
       int subtract(int num1, int num2)
       {
              return num1-num2;
              }
    </script>   <body>
          <% 
            int number = 100;
             while (number > 0) {
                Response.Write("Value: " + number + "<br>");
                number = subtract(number, 1);
             }
          %>
       </body>
    </html>
      

  6.   

    哦,应该是函数是不能放在<% %>块中的
    谢谢大家!!