سؤال

أنا باستخدام المثال "مارتن" بولاند هو إلى الصفحة.

Url بلدي التطبيق التغييرات عندما كنت انقر على أرقام الصفحات:

http://localhost:1202/Issue?page=6

حتى الآن جيد جدا.

المشكلة هي عندما أقوم بإضافة dropdownlist أن يقدم على التغيير ، وأنا لا يمكن أن الصفحة وكذلك تصفية.

إن تغيير القائمة المنسدلة, يجب أن تمر projectId في querysting ، partail عرض سيتم تحديث و عرض تمت تصفيتها recoreds.
الآن عندما الصفحة مرشح المعلمة لا عصا في querystring وكذلك اختيار في القائمة المنسدلة لا عصا.

كيف يمكنني الصفحة وكذلك الفلتر ؟

مؤشر.aspx

<form id="form-post-project-selection" class="post-comments" method="get">
 <label for="Country">Project:</label>
 <%= Html.DropDownList("ProjectList", "--All--") %>
</form>

<% Html.RenderPartial("MyIssues", Model); %>

<script type="text/javascript">
         $("#form-post-project-selection").submit(function(evt) {
         var frm = $("#form-post-project-selection");
         var action = frm.attr("action");
         var serializedForm = frm.serialize();
         var projectId = jQuery.trim($("ProjectList").val());
         if (projectId.length < 1 || projectId == "-1")
             return;
     });
     $("#ProjectList").change(function() {
         $("#form-post-project-selection").submit();
     });
</script>
هل كانت مفيدة؟

المحلول

أعتقد أن لديك زوجين من الخيارات هنا.

أول واحد من شأنه أن استخدام اياكس الاتصال مرة أخرى إلى وحدة تحكم للحصول على "المقسم" كائن جمع الظهر بحيث في كل مرة كنت تصفية الإخراج يمكنك إعادة النشر تصفية معرف فقط للحصول على نتائج مجموعات تحتاج الصفحة التي تريد.هل يمكن أن تفعل الترحيل مع اياكس وكذلك تمرير العودة تصفية معرف مع اياكس الاتصال لذلك سوف تحصل على تصفيته المقسم كائن أو يمكنك إعادة توجيه إلى url آخر على الترحيل هو موضح أدناه.

إذا كنت تستخدم صفحة كاملة إعادة النشر إلى ملقم على تغيير قيمة في القائمة المنسدلة ثم هل يمكن إعادة توجيه المستخدم إلى عنوان آخر مع تصفية معرف في ذلك على سبيل المثال.مسألة/فلتر/1

هذه الطريقة في كل مرة الترحيل الروابط المستخدمة سوف ينتهي مع رابط مثل مسألة/فلتر/1?page=6 و لن تفقد عامل التصفية الخاص بك.

يرجى ملاحظة أن عرض الصفحة لا تحتاج أن تختلف.

على الرغم من أن كل وظيفة ينتهي نفس الجواب على هذا السؤال في التعليقات أدناه و نشرها هنا من أجل سهولة.

<%= Html.Pager(ViewData.Model.PageSize, ViewData.Model.PageNumber, ViewData.Model.TotalItemCount, new { categoryname = ViewData["CategoryDisplayName"] } )%>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top