csharp 部分视图+过滤/排序和过滤选择标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 部分视图+过滤/排序和过滤选择标签相关的知识,希望对你有一定的参考价值。

// კონტროლერიდან მნიშვნელობის გატანა

public ActionResult Select()
        {
            var roles = db.Roles.ToList();
            roles.Insert(0, new Role { Id = 0, Name = "აირჩიე როლი" });
            ViewBag.roles = roles;
            ViewBag.selctedrol = 0;
            return View();
        }
        
        
// dropdownlist -ს შექმნა view ში 

@Html.DropDownList("select tag Name (same as model name)", // სელექთ ტაგის სახელი
new SelectList(ViewBag.roles, "Id", "Name", 
ViewBag.selctedrol~დეფოლტ მნიშვნელობა), // კალსი რომელსაც გადაეცემა მონაცემები
new { @class = "form-control" })




// ფილტრეზე მოთხოვნა გაფილტვრა ერთი სელექთიდან მეორესი

<script>
    $("#role").on("change", function () {
        var roleId = $(this).val();
        $.ajax({
            async: true,
            type: "Get",
            url: "/Home/Filter_user_by_role",
            data: {
                'roleId': roleId
            },
            success: function (data) {
                $("#User").html('');
                $('<option>').val("0").text("აირჩიე მომხმარებელი").appendTo("#User");
                jQuery.each(data, function (i, val) {
                    $('<option>').val(val.ID).text(val.Name).appendTo('#User')
                });
            },
            error: function () {
                alert("error")
            }
            })
    })
</script>

// კონტროლერის მხარეს


public JsonResult Filter_user_by_role(int roleId)
        {
            var result = (from item in db.users.Where(x=>x.User_Role.Any(e=>e.RoleId == roleId))
                          select new { item.Id, item.Name }).ToList();
            return Json(result, JsonRequestBehavior.AllowGet);
        }
// partial view შექმნა:
shared folder  = _partial view - (მოსანიშნი ტაბი) - create as partial.


//view-ში
@using პროექტის სახელი.Models;
@model IEnumerable<პროექტის სახელი..Models.კლასის სახელი>

// თეიბლს  აუცილებლად უნდა ქონდეს კლასი ან ადი რომლითას შემდეგ  მივწვდები !important :)


// scpript აუცილებლად უნდა დავამატოთ ajax
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script type="text/javascript" language="javascript"></script>


// script- ების ქვემოთ

@Ajax.ActionLink("ყველა"/სახელი, "GetAllUsers"/მეთოდის სახელი, new AjaxOptions()
{
    HttpMethod = "Get",//რექვესთის მეთოდი გეთი
    UpdateTargetId = "users-table", //თეიბლის აიდი
    InsertionMode = InsertionMode.Replace // რეფლეისი
})

// კონტროლერში

public PartialViewResult GetStudents()
{
    var student = db.users.Where(x => x.User_Role.Any(x => x.RoleId == 3)).ToList();
    return PartialView("_Partial", student);// პირველ პარამეტერად გადაეცემა view სახელი და 
    //მერორედ მოდელს რასაც ელოდება view -ში
}



以上是关于csharp 部分视图+过滤/排序和过滤选择标签的主要内容,如果未能解决你的问题,请参考以下文章

MVC 5 排序和过滤数据

Drupal、视图、公开过滤器:自定义默认选定标签

csharp 排序,分页,过滤Paging.mvc

Drupal:使用视图快速搜索模块进行复杂过滤/排序

Django基础之视图(views)层模板层

GTK#:带有过滤和排序的树视图