2010-11-11 138 views
1

我想測試this code found here。它允許我在用戶向下滾動向下滾動時從服務器自動加載內容。將代碼從Java轉換爲C#/ ASP.NET

我在嘗試將代碼轉換爲C#/ ASP.NET時遇到困難。首先,我想這段代碼被翻譯成C#/ ASP.NET:

package com.vraa.demo; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class InfinitContentServlet extends HttpServlet { 
    private static Integer counter = 1; 

    protected void processRequest(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     PrintWriter out = response.getWriter(); 
     try { 
      String resp = ""; 
      for (int i = 1; i <= 10; i++) { 
       resp += "<p><span>" 
         + counter++ 
         + "</span> This is the dynamic content served freshly from server</p>"; 
      } 
      out.write(resp); 
     } finally { 
      out.close(); 
     } 
    } 

    @Override 
    protected void doGet(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     processRequest(request, response); 
    } 

    @Override 
    protected void doPost(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     processRequest(request, response); 
    } 
} 

另外,我想知道如果我不得不做出這個JavaScript代碼進行任何更改:

<script type="text/javascript"> 
     $(document).ready(function(){ 
      $contentLoadTriggered = false; 
      $("#content-box").scroll(function(){ 
       if($("#content-box").scrollTop() >= ($("#content-wrapper").height() - $("#content-box").height()) && $contentLoadTriggered == false) 
       { 
        $contentLoadTriggered = true; 
        $.get("infinitContentServlet", function(data){ 
         $("#content-wrapper").append(data); 
         $contentLoadTriggered = false; 
        }); 
       } 

      }); 
     }); 
    </script> 
+2

那麼,您在轉換嘗試中獲得了多少? – jball 2010-11-11 22:54:54

+0

根本不是很遠: – ealshabaan 2010-11-11 23:17:03

+0

根本不是。基本上我不知道大部分代碼的C#等價:我知道的唯一的事情就是for循環,try/finally和基本的類/方法頭文件。否則,一切都是未知的。 – ealshabaan 2010-11-11 23:24:08

回答

1

我認爲類似的概念..(作爲處理程序.ashx)

using System; 
using System.Web; 

public class InfinitContentHandler : IHttpHandler { 
    private static Int32 counter = 1; 

    public void ProcessRequest (HttpContext context) { 
     context.Response.ContentType = "text/plain";   

     for (int i = 1; i <= 10; i++) { 
      context.Response.Write("<p><span>" + counter++ + "</span>"); 
      context.Response.Write("This is the dynamic content served freshly from server</p>"); 
     } 

    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 

}