Я пытаюсь сделать бесконечную прокрутку, используя данные с сервера sql в веб-приложении c # asp.net, но он показывает мне всего 10 записей, что означает, что он не читал JavaScript, а при прокрутке - loader.gif и hid. это без каких-либо новых записей
Я сделал все мелкие детали, которые я нашел в моем поиске, но ничего, я не могу понять, почему он не загружает больше данных, я проверил оператор SQL на сервере SQL, и все, что работает, показывает все записи, кроме сеть ничего не показывает
это мой код JS
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
var pageIndex = 1;
var pageCount;
$(window).scroll(function () {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
GetRecords();
}
});
function GetRecords() {
pageIndex++;
if (pageIndex == 2 || pageIndex <= pageCount) {
$("#loader").show();
$.ajax({
type: "POST",
url: "Default.aspx/Getpostsss",
data: '{pageIndex: ' + pageIndex + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
}
}
function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
pageCount = parseInt(xml.find("PageCount").eq(0).find("PageCount").text());
var customers = xml.find("VideossTB");
customers.each(function () {
var customer = $(this);
var table = $("#dvCpostss table").eq(0).clone(true);
$(".vidtitl", table).html(customer.find("vidtitles").text());
$(".vidtim", table).html(customer.find("vidduration").text());
$(".vidsrc", table).html(customer.find("videonamee").text());
$(".vidpostr", table).html(customer.find("vidthumb").text());
$(".vidlnk", table).html(customer.find("vidsid").text());
$(".accsors", table).html(customer.find("videoviewrs").text());
$("#dvCpostss").append(table).append("<br />");
});
$("#loader").hide();
}
</script>
и это мой код c #
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
videosRepeater.DataSource = GetpostssData(1);
videosRepeater.DataBind();
}
}
public static DataSet GetpostssData(int pageIndex)
{
string query = "[Getvidssforhome]";
SqlCommand cmd = new SqlCommand(query);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
cmd.Parameters.AddWithValue("@PageSize", 10);
cmd.Parameters.Add("@PageCount", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
return GetData(cmd);
}
private static DataSet GetData(SqlCommand cmd)
{
string strConnString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
sda.Fill(ds, "VideossTB");
DataTable dt = new DataTable("PageCount");
dt.Columns.Add("PageCount");
dt.Rows.Add();
dt.Rows[0][0] = cmd.Parameters["@PageCount"].Value;
ds.Tables.Add(dt);
return ds;
}
}
}
}
[WebMethod]
public static string Getpostsss(int pageIndex)
{
return GetpostssData(pageIndex).GetXml();
}
и повторитель в div calld #dvCpostss уверен
он показывает данные очень хорошо, но только первые 10 записей
тоже что-то
я буду использовать URL маршрутизации так
Default.aspx будет просто Home
так что я должен изменить в этой строке после решения проблемы или нет?
url: "Default.aspx/Getpostsss",
Как я уже сказал, я ожидаю загрузки большего количества данных из базы данных, но фактический результат - только первые 10 записей
мой проект остановлен до решения этой проблемы спасибо заранее