系统开发经验

1.txt显示时间,按规定的yyyy-MM-dd 格式显示。虽然WdatePicker已明确时间字符串类型为yyyy-MM-dd,但页面首次加载若不指定格式、仍会显示时分秒。

@Html.TextBoxFor(t => t.Search.BeginDateTime, new {@Value = Model.Search.BeginDateTime.ToFormatDateTime(ConfigValue.DateTimeFormat_YMD), @class = "input-medium", onfocus = "javascript: WdatePicker({ dateFmt: 'yyyy-MM-dd' });"})

该字段传到后端不带时分秒。

为了更好的跨平台,建议接口字段一律使用简单类型:int、string,别使用enum、dictionary、list(如果是简单类型,就直接string用| 分隔)、datetime(转为string,实在要用就指定json格式 yyyy-MM-dd HH:mm:ss

特别是dateime,如果.net使用默认newjson,前端js讲解析成2018-01-10T10:36:39.527

2.AutoMapper   MapTo<T>实现2种相似实体转换,这样就不用自己一个个字段赋值了,可以给目标字段加JsonProperty,方便转出到最终string结果做接口

3.EF Controller中对model修改后return View(model),页面model字段可能为更改。

4.表格头排序实现。分部页视图、css控制表头列的上下标图片表示正序或倒叙排列。详见:https://www.cnblogs.com/lukun/archive/2011/08/16/2139541.html 

但是不具备抽象、公共调用性。比如现在有1新页面Member,要对“本年度累计消费额”排序,就需要复制_SmartLink.cshtml=》新建类似的_MemberSmartLink.cshtml,仅将model 声明改下,实在浪费。  我还需要再研究。

5.formaction 导出excel。制定Controller,Action

例如:

<input type="submit" class="btn btn-primary btn-small" value="查询" />
@*无法按表格头排序,预计无法修复。因为表格头排序无法控制本方法参数。即无论用户如何选择表格头排序,导出excel君安默认顺序(id asc),这里按消费时间ConsumeDateTime*@
<input type="submit" formaction="@Url.Action("ExportTable")" class="btn btn-primary btn-small" value="导出Excel" />
@*上述导出语句在ie8低版本以下不支持h5的formaction特性,故可改用下一种方法。但这样有个小bug:修改查询条件后点击“导出Excel”只会导出条件未修改前的数据,但“查询”按钮无此问题*@
@*<a class="btn btn-primary btn-small" href="@("/Goods/ExportTable?" + Request.QueryString.ToString())">导出Excel</a>*@

原文地址:https://www.cnblogs.com/nlh774/p/8258555.html