abcI尝试使用WebMethod创建无限滚动,但我总是收到“失败”消息。我检查了我的代码,但没有发现任何错误。这是我的代码:
代码背后:
public int CurrentPage
{
get
{
// look for current page in ViewState
object o = this.ViewState["_CurrentPage"];
if (o == null)
return 0; // default to showing the first page
else
return (int)o;
}
set
{
this.ViewState["_CurrentPage"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
sqlConn.ConnectionString = ConfigurationManager.AppSettings["Database"];
ItemsGet("EN");
}
[WebMethod]
public void ItemsGet(string Language)
{
try
{
sqlConn.Open();
SqlDataAdapter myCommand = new SqlDataAdapter(@" Database query...", sqlConn);
DataSet ds = new DataSet();
myCommand.Fill(ds);
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 9;
objPds.CurrentPageIndex = CurrentPage;
Repeater1.DataSource = objPds;
Repeater1.DataBind();
}
catch (Exception ex)
{
}
}
ASPX:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<ul class='hover_block'>
<li style=''>
<a style='width: 524px;margin-top:-1px;margin-left:-1px; height: 365px;border:1px solid #cecece; background-color: #ECecec;' href=' <%#DataBinder.Eval(Container.DataItem,"RecID") %>'>
<img src='abc.com.tr/news/img/<%#DataBinder.Eval(Container.DataItem,"Image1")%>' alt='' class='left' style='margin-right: 10px; width: 500px; height: 300px;'/>
<div class='Icerik'>
<h3 class='News_Head'> <%#DataBinder.Eval(Container.DataItem,"Head") %></h3>
<p style='font-family:Tahoma;'> <%#DataBinder.Eval(Container.DataItem,"Content") %></p>
<b class='info'>View More</b>
</div>
</a>
</li>
</ul>
</ItemTemplate>
</asp:Repeater>
这是我的剧本方:
<script type="text/javascript">
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
$.ajax({
type: "POST",
url: "default.aspx/ItemsGet",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
function AjaxSucceeded() {
alert("result.d");
}
function AjaxFailed() {
alert("Failed");
}
}
});</script>
为什么会失败?滚动时我总是警觉(“失败”)。请帮忙! 谢谢你的回答
答案 0 :(得分:3)
尝试这种方式,方便快捷
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
sendData();
}
});
function sendData() {
$.ajax(
{
type: "POST",
url: "AjaxProcess.aspx/GetData",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: "true",
cache: "false",
success: function (msg) {
$("#myDiv").append(msg.d);
},
Error: function (x, e) {
alert("Some error");
}
});
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="myDiv">
</div>
</form>
</body>
[WebMethod]
public static string GetData()
{
string resp = string.Empty;
resp += "<p><span></span> This content is dynamically appended to the existing content on scrolling.</p>";
return resp;
}