MVC 4 (Razor) KnockoutJS & DataTable

Я пытаюсь показать DataTable в таблице HTML через привязку нокаута ... Я не знаю, где я пропал или не прав:

     

Мой контроллер:

     public JsonResult GetEmployees()
     {
        BAL.Employee dbProvider = new BAL.Employee();

        DataTable dataTable = dbProvider.ShowEmployeeDetails();

        List objExerciseList = new List();

        foreach (DataRow dataRow in dataTable.Rows)
        {
            Model.Employee objExercise = new Model.Employee();

            objExercise.EmployeeCode = dataRow["EmpCode"].ToString();
            objExercise.EmployeeName = dataRow["EmpName"].ToString();

            objExerciseList.Add(objExercise);
        }

        return Json(objExerciseList, JsonRequestBehavior.AllowGet);
    }

Моя модель:

public class Employee
{
  private string employeeCode;
  private string employeeName;

  public int ID { get; set; }

  [Required(ErrorMessage="Employee Code is Required")]
  public string EmployeeCode
  {
    get
    {
        return employeeCode;
    }
    set
    {
        employeeCode = value;
    }
  }

  [Required(ErrorMessage = "Employee Name is Required")]
  public string EmployeeName
  {
    get
    {
        return employeeName;
    }
    set
    {
        employeeName = value;
    }
  }
}

Это мой код ViewModel:

@{
ViewBag.Title = "Exercise9";
Layout = "../Shared/Master.cshtml";
}

<html>
<head>
<title>KO</title>
<script src="../../Scripts/jquery-1.6.2.js" type="text/javascript"></script>
<script src="../../Scripts/knockout-2.2.1.js" type="text/javascript"></script>
<script src="../../Scripts/knockout.mapping-latest.js" type="text/javascript"></script>
<script src="../../Scripts/json2.js" type="text/javascript"></script>
</head>
<body>
<form action="" method="get">
<div style="width: 990px; background-color: White; height: 710px;">
    <table id="tbllist" align="center" style="border:5px #fff solid;">
        <tr>
            <td colspan="6">
                

Employee List

</td> </tr> <tr> <td colspan="6" style="padding: 0px;"> <div id="title_p"> Listing</div> </td> </tr> <tr> <th align="left"> Employee Code </th> <th align="left"> Employee Name </th> </tr> <tbody data-bind="foreach: Employees"> <tr style="border-bottom: 1px solid #000000;"> <td> </td> <td> </td> </tr> </tbody> </table> </div> </form> <script type="text/javascript"> var EmpViewModel = function() { //Make the self as 'this' reference var self = this; //Declare observable which will be bind with UI self.EmployeeCode= ko.observable("0"); self.EmployeeName= ko.observable(""); //The Object which stored data entered in the observables var EmpData = { EmpCode:self.EmployeeCode, EmpName: self.EmployeeName }; //Declare an ObservableArray for Storing the JSON Response self.Employees = ko.observableArray([]); GetEmployees(); //Call the Function which gets all records using ajax call //Function to Read All Employees function GetEmployees() { //Ajax Call Get All Employee Records $.ajax({ type: "GET", url: "/Exercise/GetEmployees/", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { self.Employees(data); //Put the response in ObservableArray }, error: function (error) { alert(error.status + "<--and--> " + error.statusText); } }); //Ends Here } }; ko.applyBindings(new EmpViewModel()); </script>

Пожалуйста, помогите мне ... СПАСИБО В РАМКАХ ... !!

1
nl ja de
Почему вы, люди, уменьшаете мою точку зрения, а не отвечаете на мой вопрос ... Это правильный способ помочь новичкам
добавлено автор sunny, источник
Почему вы, люди, уменьшаете мою точку зрения, а не отвечаете на мой вопрос ... Это правильный способ помочь новичкам
добавлено автор sunny, источник

2 ответы

Попробуйте преобразовать из Json в наблюдаемую модель JavaScript следующим образом:

$.ajax({
                    type: "GET",
                    url: "/Exercise/GetEmployees/",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                         ko.mapping.fromJS(data, {}, self.Employees);
                    },
                    error: function (error) {
                    alert(error.status + "<--and--> " + error.statusText);
                    }
               });
2
добавлено
Смотрите, кто-то помог мне вместо того, чтобы уменьшить мои очки ....
добавлено автор sunny, источник
yo yo Это сработало ..... блестяще .... Thanx Rayyyyyyyyyyyyy ...
добавлено автор sunny, источник
не было большой репутации .... увеличить твою ... извините ..
добавлено автор sunny, источник

Попробуйте преобразовать из Json в наблюдаемую модель JavaScript следующим образом:

$.ajax({
                    type: "GET",
                    url: "/Exercise/GetEmployees/",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                         ko.mapping.fromJS(data, {}, self.Employees);
                    },
                    error: function (error) {
                    alert(error.status + "<--and--> " + error.statusText);
                    }
               });
2
добавлено
Смотрите, кто-то помог мне вместо того, чтобы уменьшить мои очки ....
добавлено автор sunny, источник
yo yo Это сработало ..... блестяще .... Thanx Rayyyyyyyyyyyyy ...
добавлено автор sunny, источник
не было большой репутации .... увеличить твою ... извините ..
добавлено автор sunny, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

All That JS
All That JS
417 участник(ов)

JS на русском

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)