美文网首页Aspnet mvc专辑.NETAsp.net开发
ASP.NET MVC 将JSON写入数据库,并读取出来。

ASP.NET MVC 将JSON写入数据库,并读取出来。

作者: 凉风有兴 | 来源:发表于2017-04-14 02:28 被阅读191次

在一个项目里面,往往总会有一些非常琐碎零星的数据,要将它们都建立一个数据表吧,又觉得太浪费。因为往往都只有一笔数据。存为其它文档吧,修改什么的又太麻烦。

其实我就是想在数据库里面存JSON文档,一方面可以拥有一定的序列,一方面又是String,又可以写入数据库里面,可以有无限个序列供我使用,还不用考虑字段的多少。这样就非常符合我的要求。

例如我在某一个页面需要记录到一些电话、EMAIL、网站等信息,而且只有一笔数据,这笔数据可以很方便的修改,那么我在数据库字段里面存下以下信息:

{TEL:"18924053286",EMAIL:"alexzeng@msn.com",WEB:"http://www.alexzeng.net"}

也许下次我需要存别的数据,我只需用在数据库里面增加一笔数据。同样的在string里面存入JSON数据。

{NAME:"类别管理",URL:"/admin/cate/"}

有人说,你为什么不把类似的数据存在WEBCONFIG里面呢?
其实最重要的原因就是不好修改。而且权限也很难设置。

我们需要建立一个类,通过id读取出数据库的JSON数据来.

public string ToJson(int id)
        {
            string s = string.Empty;
            var outjson= (from s1 in db.JsonConfigs where s1.JsonConfigId == id select s1).FirstOrDefault();
            s = outjson.Json_Config;
            return s;
        }

在控制器里面,我们需要制作一个部分视图,把JSON数据呈现到这个视图里面来。

[ChildActionOnly]
        public ActionResult tojson_us()
        {
            dynamic d = JObject.Parse(ToJson(1));
            
                ViewBag.TEL = d.TEL;
                ViewBag.EMAIL = d.EMAIL;
                ViewBag.WEB = d.WEB;
            
            return View();


        }

视图的代码就更容易了:

    Layout = null;
}
<p></p>
<ul class="contact">
    <li class="fa-envelope-o"><a href="#">@ViewBag.EMAIL</a></li>
    <li class="fa-phone">@ViewBag.TEL</li>
    <li class="fa-home">
      @ViewBag.WEB
    </li>
</ul>

当然,也可以使用AJAX对JSON数据进行读取,写入网页里面。但是可以通过后端渲染,为什么需要前端的JS呢?况且,代码并不比前端复杂。

相关文章

网友评论

    本文标题:ASP.NET MVC 将JSON写入数据库,并读取出来。

    本文链接:https://www.haomeiwen.com/subject/vzoiattx.html