v2.5.2
Giriş yap

Asp.Net Mvc C# DataTables Server side processing

makifgokce
797 defa görüntülendi ve 1 kişi tarafından değerlendirildi
Asp.Net Mvc C# DataTables Server side processing

Asp.net Mvc bir projem var.
Datatables'ın server side özelliğini bir türlü yapamadım.
Datatables.Aspnet.Mvc5 bunu denedim fakat hata alıyorum.
Ado.Net ile düz mantık yapsam olurda Entity Framework ile yapmak istiyorum.

// controller içerisindeki methodum
public ActionResult Ajax(IDataTablesRequest request)
    {
        // Nothing important here. Just creates some mock data.
        ItemContext it = new ItemContext();
        var data = it.Items.AsEnumerable().Where(i => i.Id >= 110100000 && i.Id <= 110199999);

        // Global filtering.
        // Filter is being manually applied due to in-memmory (IEnumerable) data.
        // If you want something rather easier, check IEnumerableExtensions Sample.
        var filteredData = data.Where(_item => _item.Name.Contains(request.Search.Value));

        // Paging filtered data.
        // Paging is rather manual due to in-memmory (IEnumerable) data.
        var dataPage = filteredData.Skip(request.Start).Take(request.Length);

        // Response creation. To create your response you need to reference your request, to avoid
        // request/response tampering and to ensure response will be correctly created.
        var response = DataTablesResponse.Create(request, data.Count(), filteredData.Count(), dataPage);

        // Easier way is to return a new 'DataTablesJsonResult', which will automatically convert your
        // response to a json-compatible content, so DataTables can read it when received.
        return new DataTablesJsonResult(response, JsonRequestBehavior.AllowGet);
    }
<table id="datatables" class="table table-striped dt-responsive nowrap table-dark table-hover" width="100%" style="width: 100%;">
    <thead>
        <tr>
            <th>Id</th>
            <th>&nbsp;</th>
            <th>Name</th>
            <th>Level</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th>Id</th>
            <th>&nbsp;</th>
            <th>Name</th>
            <th>Level</th>
        </tr>
    </tfoot>
</table>
@section Scripts {
    <script type="text/javascript">
        $(document).ready(function () {
            var table = $("#datatables").DataTable(
                {
                    "proccessing": true,
                    "serverSide": true,
                    "ajax": {
                        "url": "@Url.Action("Ajax", "Items")",
                        "type": "POST"
                    },
                    "columns": [
                        { "data": "Id" },
                        { "data": "Icon" },
                        { "data": "Name" },
                        { "data": "Level" },
                    ]
                });
        });
    </script>
    }
public class ItemContext : DbContext
    {
        public ItemContext() : base("ConnectionStrings")
        {

        }
        public DbSet<Item> Items { get; set; }
    }
public class Item
    {
        [Key]
        public int Id { get; set; }
        public string Icon { get; set; }
        public string Name { get; set; }
        public int Level { get; set; }
    }

aldığım hata

Bir arabirimin örneği oluşturulamaz.
Açıklama: Geçerli web isteği yürütülürken işlenmemiş özel durum oluştu. Lütfen hata ve kod içinde kaynaklandığı yer hakkında daha fazla bilgi almak için yığın izlemesini gözden geçirin.

Özel Durum Ayrıntıları: System.MissingMethodException: Bir arabirimin örneği oluşturulamaz.

Bu konuda Datatables a alternatif bir şey varsa öneri olarak onuda yazın.
Yardımlarınızı bekliyorum şimdiden teşekkür ederim.

Cevap yaz
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!