前端模板引擎,数据内存分组

来源:互联网 发布:structure软件 使用 编辑:程序博客网 时间:2024/04/30 12:45

html

<div id="resList"></div>

template

<script id="Template" type="text/x-jquery-tmpl">    <div>        {{each Data}}        <div style="clear:both">            <div>${$value.groupNama}</div>            <div>                {{each $value.data}}                  <div style="float:left"><img src=${$value.Logo} width="120" height="120" /><p>${$value.BrandName}</p></div>                {{/each}}            </div>        </div>        {{/each}}    </div></script>

js

<script src="~/Scripts/my/jquery.tmpl.js"></script><script type="text/javascript">    var CID = undefined;    var HasChild = true;    $(function () {        getdata(-1);    })    function getdata(catId) {        var sign = $("#sign").val();        $.ajax({            type: "get",            url: "/Supplier/Brand/GetProjectBrand",            data: { "sign": sign, "catId": catId },            dataType: "json",            success: function (data) {                if (data.State == "ok") {                    $("#Template").tmpl(data).appendTo("#resList");                } else if (data.State == "logout") {                    window.location.href = "/Account/Login";                } else {                    layer.tips(data.Msg, "#btn_submit", {                        tips: [2, '#3595CC'],                        time: 4000                    });                }            },            error: function (message) {            }        });    }</script>

后台

 public ActionResult GetProjectBrand(string sign, int catId)        {            string state = "ok";            string msg = "";            ArrayList outdata = new ArrayList();            string cookie_value = CookieHelper.GetSingleValueCookieValue("key");            var obj = CacheManager.GetData<HzbModel.User>(cookie_value);            if (obj == null)            {                state = "logout";                msg = "登陆超时";                goto Complete;            }            try            {                string p = UrlParamHelper.UrlDecode(sign);                int projectId = int.Parse(AESHelper.AESDecrypt(sign));                  var list = GetSpreadBrandList(projectId, catId).GroupBy(m => m.CategoryName);                foreach (IGrouping<string, SpreadBrand> group_BrandList in list)                {                    string groupNama = group_BrandList.Key;                    List<SpreadBrand> temp = new List<SpreadBrand>();                    foreach (SpreadBrand b in group_BrandList)                    {                        temp.Add(b);                    }                    var o = new { groupNama = groupNama, data = temp };                    outdata.Add(o);                }            }            catch            {                state = "no";                msg = "参数错误";                goto Complete;            }            Complete:            var res = new JsonResult();            res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;  //允许使用GET方式获取,否则用GET获取是会报错。            res.Data = new { State = state, Msg = msg, Data = outdata };            return res;        }
0 0