【发布时间】: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