ورود

View Full Version : سوال: بهترین Ajax Pager برای Mvc 5



alibahman47
یک شنبه 04 تیر 1396, 09:49 صبح
درود ,

دوستان برای Mvc 5.2.3 آیا پیجر ایجکسی جدیدی(جدید) وجود داره ؟

یه مورد که بنده باهاش کار کردم مال 2011 هست و قدیمیه و مورد ای جکسیش MvaAjaxPager بود که مال 2014 هست

http://s9.picofile.com/file/8298781476/pager.png

Moien Tajik
یک شنبه 04 تیر 1396, 17:49 عصر
http://mvcpaging.apphb.com/

alibahman47
سه شنبه 06 تیر 1396, 10:45 صبح
http://mvcpaging.apphb.com/

آقا من اصلاح کنم برای پیجر ایجکسی از MvcAjaxPager استفاده میکنم (دو مورد بالاتر ازموردی که تو عکس انتخاب شده) که یه قابلیت خوبی که داره امکان ذخیره صفحه جاری پیجر به صورت # در Url هست .

برای Mvc 5 و Bootstrap 3 موردی نیومده ؟

و یا مثل همه بخش های دیگه که بروز نمیشن این مورد هم بروز نخواهد شد درسته ؟

Moien Tajik
سه شنبه 06 تیر 1396, 15:07 عصر
اینکه Package ها آپدیت نمیشن به Microsoft ربط نداره ، به نویسنده اون ها ربط داره .
این چیزی که شمام میخواید پیاده سازیش سادس ، شما شماره پیج رو همیشه تو کنترلر دریافت میکنید ، میتونید اون شماره رو به عنوان Query String به URL پاس بدید و آدرس URL رو با JavaScript به شکلی که میخواید تغییر بدید اما بطور پیشفرض فکر نمیکنم این پکیج این مورد رو داشته باشه .

alibahman47
پنج شنبه 08 تیر 1396, 09:02 صبح
اینکه Package ها آپدیت نمیشن به Microsoft ربط نداره ، به نویسنده اون ها ربط داره .
این چیزی که شمام میخواید پیاده سازیش سادس ، شما شماره پیج رو همیشه تو کنترلر دریافت میکنید ، میتونید اون شماره رو به عنوان Query String به URL پاس بدید و آدرس URL رو با JavaScript به شکلی که میخواید تغییر بدید اما بطور پیشفرض فکر نمیکنم این پکیج این مورد رو داشته باشه .
دم شما گرم , هر کدومشون خوبی های خودشون رو دارن این مورود شما با بوتسترپ سازگاری خیلی خوبی داره و MvcAjaxPager 1.0.2 با اون کوری استرینگ # که ایجاد میکنه سئو ی خیلی خوبی رو ایجاد میکنه .
سعی میکنم از http://mvcpaging.apphb.com/ استفاده کنم و با Query String هم سئویی که میخوام رو ایجاد کنم که به هر دو هدفم برسم.ایشالا اگه بشه

alibahman47
جمعه 24 شهریور 1396, 23:31 عصر
http://mvcpaging.apphb.com/

درود دوباره ,
من این چیجر که معرفی کردید رو خیلی از جاهای پروژم در پنل مدیریت استفاده کردم و امکانتش واقعا عالیه ,
منتهی تنها مشکلی که داره اینه که بعدا از اولین کلیک روی صفحات پیجر tooltip ها قاطی میکنند و مکانشون در صفحه ثابت میشه و پاک نمیشن و یا به بالای صفحه میره!

http://s8.picofile.com/file/8306536392/Pager.jpg
ویدیو از مشکل : دانلود (http://s8.picofile.com/file/8306535676/tooltip.mp4.html)

قالب مدیریتی که من استفاده میکنم از Bootstrap 4 Alpha6 در طراحیش استفاده شده و در نمایش Tooltip در هیچ بخشی مشکلی ندارد , فقط در همین قسمت پیجر و بعد از اولین درخواست ایجکسی بخطا میخورد !
این رو هم بگم که Bootstrap 4 Alpha6 از فایل مستقلی به اسم tether.min.js برای نمایش tooltip ها استفاده میکنه ,

بنظروتن این مشکل قابل حل هست ؟ یا پیجر مشابهی که همین امکانات و قابلیت ها رو داشته باشه و مستقل از bootstrap عمل کنه و با Jquery 3 هم سازگار باشه رو میشناسید که معرفی کنید ؟

در صورت امکان اگه برای این مورد چیزی به ذهنتون میرسه پیشنهاد بدید چون توی حدود 50 View و PartialView ازین پیجر استفاده کردم و نمیخوام دوباره کدنویس کنم.

alibahman47
شنبه 25 شهریور 1396, 00:39 صبح
بله با کلیک روی صفحات 2 و 3 و .. به صفحات دیگه پیجر میرود (به صورت Ajax ی) و پیجر به درستی کار میکند فقط Tooltip ها در صفحه باقی میمانند :
ویدیو کامل تر (http://s9.picofile.com/file/8306537242/tooltip2.mp4.html)




یک نمونه رو ساده از کد هاش :
http://s9.picofile.com/file/8306538442/TestPager.jpg

کد View :






@using MvcPaging
@model WebShopping2017.Models.ViewModels.Product.SearchPr o_ViewModel

@{
ViewBag.Title = "SearchCat";
Layout = "~/Views/Shared/Layout/_AdminLayout.cshtml";
}

@using (Ajax.BeginForm("Index", "Product",
new AjaxOptions { UpdateTargetId = "grid-list", HttpMethod = "Post", LoadingElementId = "loading", OnBegin = "beginPaging", OnSuccess = "successPaging", OnFailure = "failurePaging" },
new { id = "frm-search" }))
{
<div id="grid-list" class="container-fluid">
@{ Html.RenderPartial("_AjaxEmployeeList", Model); }
</div>
}

@section Scripts{

<script>

$(function () {
$('a').tooltip();
});


function beginPaging(args) {
// Animate
$('#grid-list').fadeOut('normal');
}

function successPaging() {
// Animate
$('#grid-list').fadeIn('normal');
$('a').tooltip('hide');

}

function failurePaging() {
alert("Could not retrieve list.");
}

</script>
}










کد پارشیال ویو AjaxEmployeeList_ که در هر بار درخواست فراخوانی میشود :



@using MvcPaging
@model WebShopping2017.Models.ViewModels.Product.SearchPr o_ViewModel
<table class="table table-bordered table-hover">
<thead>
<tr>
<th>
ID
</th>
<th>
Name
</th>
<th>
Email
</th>
<th>
Phone
</th>
<th>
City
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Products)
{
<tr>
<td>
@item.Id
</td>
<td>
@item.Title
</td>
<td>
@item.PrimaryPrice
</td>
<td>
@item.ExistCount
</td>
<td>
@item.TotalPriceSales
</td>
</tr>
}
</tbody>
</table>

<div class="container">
@Html.Raw(Ajax.Pager(
new Options
{
PageSize = Model.PageSize,
TotalItemCount = Model.TotalItemCount,
CurrentPage = Model.CurrentPage,
ItemTexts = new ItemTexts() { Next = "Next", Previous = "Previous", Page = "P" },
ItemIcon = new ItemIcon() { First = "icon-backward", Previous = "icon-chevron-left", Next = "icon-chevron-right", Last = "icon-forward" },
TooltipTitles = new TooltipTitles() { Next = "Next page", Previous = "Previous page", Page = "Page {0}." },
Size = Size.normal,
Alignment = Alignment.centered,
IsShowControls = true,
IsShowFirstLast = true,
//CssClass = ""
},
new AjaxOptions
{
UpdateTargetId = "grid-list",
OnBegin = "beginPaging",
OnSuccess = "successPaging",
OnFailure = "failurePaging"
}, new { controller = "Product", action = "Index", CatName = ViewData["CatName"] }))
<div class="well">
شروع از محصول شماره <span class="badge badge-success">@Model.ItemStart</span> تا محصول <span class="badge badge-success">@Model.ItemEnd</span>
و تعدا کل یافته ها : <span class="badge badge-info">@Model.TotalItemCount</span>
</div>
</div>