【问题标题】:translating code from Java to C#/ASP.NET将代码从 Java 转换为 C#/ASP.NET
【发布时间】:2010-11-11 22:51:53
【问题描述】:

我想测试this code found here。它允许我在用户向下滚动时从服务器自动加载内容。

我在尝试将代码转换为 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>

【问题讨论】:

  • 那么,您在转换尝试中取得了多大的进展?
  • 一点也不远。基本上我不知道大部分代码的 C# 等价物:我唯一知道的是 for 循环、try/finally 和基本的类/方法标头。否则,一切都是未知的。
  • 如果您想自动(延迟)加载内容,直到在 asp.net 中滚动,请检查 stackoverflow.com/questions/4690174/…stackoverflow.com/questions/3283669/…

标签: c# java javascript asp.net code-conversion


【解决方案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;
        }
    }

}

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2012-01-28
    • 2016-04-14
    • 2014-05-27
    • 2015-09-27
    • 1970-01-01
    • 2015-07-15
    • 2014-09-16
    • 2017-02-15
    相关资源
    最近更新 更多