增加新属性的方法

在升级到MVC的过程中,前端使用Mustache模板,对逻辑处理不给力,if-else都没办法实现。所以我们必须先把数据组织好,然后在前端呈现!

 

一、新增DataTable列

var dt = BLL.Role.GetPagerData(GetCondition(), base.sort, base.pageIndex, base.pageSize, ref base.totalRecord, ref base.totalPage);
dt.Columns.Add(new DataColumn("selected",typeof(Boolean)));
foreach (DataRow dr in dt.Rows)
    dr["selected"] = roles.Split(',').Contains(dr["AutoID"].ToString());

string dataJson = dt.ToJson();

这种方法最容易实现,原来的属性没变,只是新增加了列。然后遍历给新列赋值

 

二、Linq select new

var lst = BLL.AccountDetail.GetPagerList(GetCondition(), base.sort, base.pageIndex, base.pageSize, ref base.totalRecord, ref base.totalPage);
var lstNew = from item in lst
                select new
                {
                    item.AutoID,
                    item.UserName,
                    item.OpType,
                    item.OpValue,
                    item.After,
                    item.OperateDate,
                    item.Remark,
                    OpValueExt = (item.OpType == 1 ? "+ " : "- ") + item.OpValue.ToString("f2") + (item.Unit == "Amount" ? "" : " 积分"),
                    AfterExt = item.After.ToString("f2") + (item.Unit == "Amount" ? "" : " 积分"),
                    RemarkExt = "" + item.OperateDate + "" + item.Remark
                };

string dataJson = lstNew.ToJson();

映射出一个新的匿名类,属性自定义!

 

三、JSON 增加属性

var json = @Html.Raw(ViewBag.InitData); //数据
json.result.titleprev=function(){
    return json.result.ReplyID>0?"回复":"主题";
};
json.result.showname=function(){
    return json.result.UserName==""?"匿名":json.result.UserName;
};

前两个方法是在程序中完成逻辑,然后输出JSON,这里是在JSON数据中添加属性。

posted on 2018-08-22 17:41  青铜时代 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/singoocms/p/9519243.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值