نمایش نتایج 1 تا 8 از 8

نام تاپیک: تکراری لود شدن باکس ها در partial view

  1. #1

    تکراری لود شدن باکس ها در partial view

    سلام در قطعه کد های زیر من دستور هر بار لود شدن اطلاعات از دیتایس رو گذاشتم مشکل من اینه نمیدونم چرا بعضی وقتا تابع GetData () چند بار فراخوانی میشه و اجرا میشه ! و مثلا میبینی برای متغیر pageindex چند بار مقدار 1 ثبت میشه و اجرا میشه و نتیجش میشه ظاهر شدن چند باکس تکراری ! کسی میتونه مشکلش رو پیدا کنه


    قسمت کنترلر :

      public ActionResult GetData(int pageIndex)
    {


    var query = (from a in db.Tbl_UrlUser
    where a.Status != null
    orderby a.Id descending
    select a);
    //5 تا 5تا نمایش میدهد باکس
    int take = 5;
    int Skip = (pageIndex * take) - take;

    return PartialView("ProductPartial", query.Skip(Skip).Take(take));

    }




    قسمت پارشیال ویو: ProductPartial

    @foreach (var item in Model)
    {

    <div class="col-lg-3">
    @if (item.pic == null)
    {



    <a id="thumb" target="_blank" href="~/home/iframe?url=@item.Url"> <img src="~/home/Saveimage?url=@item.Url" width="180" height="180" alt="@item.Url" class="img-responsive img-rounded" targe="blank" ata-toggle="tooltip" data-placement="top" title="@content" /> </a>
    <br />

    }

    else
    {

    <a id="thumb" target="_blank" href="~/home/iframe?url=@item.Url"> <img src="~/images/@item.pic" width="180" height="180" alt="@item.Url" class="img-responsive img-rounded" targe="blank" data-toggle="tooltip" data-placement="top" title="@content" /> </a>
    <br />

    }

    </div>

    }



    قسمت ویو (اصلی) کد جاوا اسکریپت (از اینجا صدا زده میشه تابع GetData():

    <script type="text/javascript">


    var pageIndex = 1;
    var size = 1650;

    $(document).ready(function () {


    //بار اول صدا زده میشود و 5 باکس نمایش میدهد
    GetData();



    $(window).scroll(function () {
    if ($(this).height() <= 768) {
    if ($(this).scrollTop() >size) {
    // بر اساس سایز اسکرول صفحه سایت دوباره صدا زده میشود تابع زیر
    GetData();

    size = size + 100;
    }

    }
    });

    });


    function GetData() {
    $.ajax({
    type: 'GET',
    url: '/home/GetData',
    data: { "pageindex": pageIndex },
    //dataType: 'json', //Because the GetData now return the partialview content instead if json result

    success: function (data) {

    if (data != null) {

    // اجرا شدن و نمایش باکس ها در ای دی زیر
    $("#container").append(data);
    //یک واحد اضافه میشود بعد از هر نمایش
    pageIndex++;

    }

    },

    beforeSend: function () {

    $("#loading").delay(0).fadeIn(9000);
    },
    complete: function () {


    $("#loading").delay(0).hide
    (2000);


    },


    error: function () {
    //alert("Error while retrieving data!");
    }
    });
    }
    </script>
    آخرین ویرایش به وسیله piter11 : پنج شنبه 04 مرداد 1397 در 12:16 عصر

  2. #2

    نقل قول: تکراری لود شدن باکس ها در partial view

    همینطور که میبینید بعضی از باکس ها تکراری هستن

    ضمیمه 148602

  3. #3

    نقل قول: تکراری لود شدن باکس ها در partial view

    کسی اصلا این کارو انجام داده؟ من میخوام مثل سایت دیوار موس میارم آحر محصولات بعدی لود شن

  4. #4

    نقل قول: تکراری لود شدن باکس ها در partial view

    شرط اسکرول رو اصلاح کنید.
    https://stackoverflow.com/a/3898152
    https://stackoverflow.com/a/9439807

    یک متغیر با مقدار false ایجاد کنید.
    قبل از ارسال درخواست ، چک کنید اگر متغیر false بود مقدار رو به true تغییر بدید و درخواست ارسال بشه. اگر مقدار true بود یعنی هنوز درخواست قبلی تمام نشده. بعد از پایان درخواست متغیر را false کنید.

  5. #5

    نقل قول: تکراری لود شدن باکس ها در partial view

    الان من طبق گفته شما متغیری با مقدار false تعربف کردم ولی اونجایی که نوشتید باید مقدار رو به true تبدیل کنید دقیقا نمیدونم کجا باید این کارو بکونم از 9تا محصول 6تاشو میاره بعدش به قولی شما تو true گیر میکنه


    var gog=false;

    $(window).scroll(function () {
    if ($(window).scrollTop() >= ($(document).height() - $(window).height())*0.7){




    if (gog==false){

    gog=true;
    GetData();

    }

    }
    });

    });
    آخرین ویرایش به وسیله piter11 : دوشنبه 19 شهریور 1397 در 18:28 عصر

  6. #6

    نقل قول: تکراری لود شدن باکس ها در partial view

    یکی جواب بده بدجور کارم گیر
    مشکل اینه هربار اسکرول بالا پایین میکنم انگار رو دکمه هر بار کلیک میکنیم اینم میاد هی تابع getdata() اجرا می کنه و تکراری میده بیرون
    جالب وقتی در ابتدای تابع getdata() از دستور alert() استفاده میکنم همه مشکلات حل میشه ! وقفه با مسیج باکس ایجاد میشه درست میشه ولی خب من نمیخوام اون alert نمایش داده بشه
    آخرین ویرایش به وسیله piter11 : سه شنبه 20 شهریور 1397 در 12:07 عصر

  7. #7

    نقل قول: تکراری لود شدن باکس ها در partial view

        function GetData() {
    if (gog == true)
    return;

    $.ajax({
    type: 'GET',
    url: '/home/GetData',
    data: { "pageindex": pageIndex },
    //dataType: 'json', //Because the GetData now return the partialview content instead if json result

    success: function (data) {
    if (data != null) {
    // اجرا شدن و نمایش باکس ها در ای دی زیر
    $("#container").append(data);
    //یک واحد اضافه میشود بعد از هر نمایش
    pageIndex++;
    }
    },
    beforeSend: function () {
    gog = true;
    $("#loading").delay(0).fadeIn(9000);
    },
    complete: function () {
    $("#loading").delay(0).hide
    (2000);
    },
    error: function () {
    //alert("Error while retrieving data!");
    },
    always(function() {
    gog = false;
    }
    });

  8. #8

    نقل قول: تکراری لود شدن باکس ها در partial view

    خیلی ممنون درست شد و کار میکنه صحیح این سایت خیلی شبیه دیوار هستش برای مشتری طراحی کردم
    wwe.jpg

تاپیک های مشابه

  1. دیر لود شدن کنترل ها در فرم
    نوشته شده توسط meysam jahedi در بخش VB.NET
    پاسخ: 5
    آخرین پست: یک شنبه 16 آبان 1395, 09:39 صبح
  2. سوال: عدم لود شدن استایل ها در پروژه ی Coevery
    نوشته شده توسط aliblue در بخش ASP.NET MVC
    پاسخ: 0
    آخرین پست: سه شنبه 27 خرداد 1393, 10:55 صبح
  3. جلوگیری از لود شدن عکس ها در WebBrowser
    نوشته شده توسط xrezax در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: سه شنبه 25 بهمن 1390, 20:07 عصر
  4. عدم لود شدن عکس ها در گزارش پس از انتقال به VS2008
    نوشته شده توسط keyvan_n در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 16 بهمن 1388, 02:01 صبح
  5. چگونه می توان از لود شدن عکس ها در Twebbrowser جلوگیری کرد؟
    نوشته شده توسط koosha system در بخش توسعه نرم افزار تحت وب
    پاسخ: 5
    آخرین پست: چهارشنبه 25 خرداد 1384, 10:33 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •