当前位置: 首页 > 面试题库 >

将Json数据绑定到MVC 4中的表

俞子实
2023-03-14
问题内容

我正在MVC
4应用程序中工作..我想使用jQuery将json数据绑定到应用程序中的表。我能够使用方法将数据集(我从数据库中获取数据)转换为json数据并获取json数据。但是我不知道如何使用jquery将其绑定到表。请告诉我解决此问题的方法。

JSon数据

我的json数据是这样的。

[{"Location":"Chennai","Duration":"15","Sno":"1",
 "Date of Birth":"\/Date(-2209051800000)\/","Dateofjoin":"\/Date(-2209048200000)\/"}]

jQuery

$('#btnGoNew').click(function () {
        var url = '@Url.Content("~/Somecontroller/GetValue")'; 
        $.getJSON(url, { id: valz }, function (data) {
            //code to bind table                
        });
    });

查看

         <input type="button" class="MasterButton" id="btnGoNew"/>
            <table id="grd1">
             <thead>
                <tr>
                   <th>Location</th>
                   <th>Duration</th>
                   <th>Sno</th>
                   <th>Date of Birth</th>
                   <th>Dateofjoin</th>    
                </tr>
             </thead>
             <tbody>
             <tr>
              <td></td>
             </tr>
             </tbody>
           </table>

控制器

   public JsonResult GetValue(string id)
    {
        JsonResult json = new JsonResult();
        DataSet ds = LoadDoctordetailsNew(id); 
       /*LoadDoctordetailsNew is method where i get data from database and convert
          to dataset.It returns a dataset*/
        string returnData = GetJson(ds.Tables[0]);
        json.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
        json.Data = returnData;            
        return json;
    }

    public static string GetJson(DataTable dt)
    {
        System.Web.Script.Serialization.JavaScriptSerializer serializer =
           new System.Web.Script.Serialization.JavaScriptSerializer();
        List<Dictionary<string, object>> rows =
           new List<Dictionary<string, object>>();
        Dictionary<string, object> row = null;

        foreach (DataRow dr in dt.Rows)
        {
            row = new Dictionary<string, object>();
            foreach (DataColumn col in dt.Columns)
            {
                row.Add(col.ColumnName, dr[col]);
            }
            rows.Add(row);
        }
        return serializer.Serialize(rows);
    }

问题答案:

首先,您应该将返回的json 字符串 解析为json 对象

data = $.parseJSON(data);

然后,遍历它并创建表。完整的解决方案如下所示:

$('#btnGoNew').click(function () {
    var url = '@Url.Content("~/DoctorDetail/GetValue")';
    $.getJSON(url, { id: valz }, function (data) {
        data = $.parseJSON(data);
        //code to bind table
        $.each(data, function(i, item) {
            var html = "<tr><td>" + item.Location + "</td>";
            html += "<td>" + item.Duration + "</td>";
            // and html += other fields...
            $("#grd1 tr:last").after(html); 
            // the above line is like that because you use <tbody> 
            // in table definition.
        });                
    });

});


 类似资料:
  • 如何将MVVM值绑定到dropdownlist?下面的输入元素运行良好

  • 我不熟悉剑道ui和mvvm,我面临这个问题: 我有一个JSON文件,格式如下: 我正在使用剑道男孩在线提到的示例阅读该文件,如下所示: 我能够将数据源中的数据绑定到剑道控件,如Dropdown列表或其他剑道控件。但是当我尝试将数据绑定到超文本标记语言控件(主要是img标记)时。它停止工作,并给出一个错误,说“this.parent”不是一个函数。 以下是有效的HTML: 然而绑定到一个正常的

  • 我正在创建一个asp.net页面,允许用户跨多个数据库搜索。 如果找到匹配项,我希望在主ListView中返回数据库名称。然后,我想在相应的数据库名称下,在嵌套的ListView中显示与搜索条件匹配的所有公司。 e. g.搜索:公司 后果 数据库1名称 数据库2名称 数据库3名称 如何引用和填充嵌套的ListView?

  • 在我的视图页面中,我试图放置一个用户的电子邮件地址,这个地址是我通过使用knockout.js进行数据绑定获得的,但是我很难让它正常工作。 电子邮件代码 这就是我所拥有的,当前的结果是:图标,然后是它旁边的电子邮件地址,当我点击电子邮件时,什么也没有发生。如有任何有用的提示,我们将不胜感激。

  • 问题内容: 我需要将 DataTable 绑定到 DataGridView 。我这样做: 但我得到的是 数据表中 增加了新的 列到我 的DataGridView 。我不需要这个,我只需要在现有列下编写即可。 拜托,帮帮我,伙计们! 问题答案: 尝试这个: 如果您不想清除所有现有的列,则必须为每个现有的列进行设置,如下所示:

  • 本文向大家介绍json数据处理及数据绑定,包括了json数据处理及数据绑定的使用技巧和注意事项,需要的朋友参考一下 一.json数据处理 1.json数据 2.获取数据 数据注入:"{{data}}" 3.数据处理: 4.数据绑定 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!