随笔分类 - ASP.NET MVC
摘要:本文主要体验用jQuery Easyui的datagrid来实现Master-Detail主次表。谢谢Kevin的博文,助我打开了思路。 主表显示所有的Category,当点击主表的展开按钮,显示该Category下的所有Product。 涉及显示的2个Model 展开namespace DataGridInMVC2.Models{ public class Category {...
阅读全文
摘要:本文主要体验datagrid的frozenColumns属性。□ frozenColumns效果: 在frozenColumns的列将保持不动,而其他列横向滚动。 □ frozenColumns效果实现的前提: 1、给所有的列表上宽度,比如width:80 2、frozenColumns中的列必须是从左侧开始,并且是连续的 3、必须把datagrid的fitColumns属性设置为false $('#tt').datagrid({ url: 'Home/GetData', wid...
阅读全文
摘要:本文主要来体验在搜索区域增加更多的搜索条件,主要包括:※ 使用jQuery ui的datepicker显示时间,设置显示格式、样式。 ※ 设置jQuery ui的onClose事件,使开始和结束时间形成约束,即选择开始时间为某天,结束时间的选择范围只能在该天以后,反之亦然。 ※ 下拉框显示枚举值本文只关注视图显示,不涉及后台逻辑。关于搜索条件的过滤,请参照"datagrid在MVC中的运用02"。 关于显示时间□ Html 时间从: 到: 搜索 □ js部分 ...
阅读全文
摘要:本文介绍在datagrid上同时添加搜索和操作区域。 仅仅是增加操作区域□ 方法1$('#dg').datagrid({ toolbar: '#tb' }); □ 方法2$('#dg').datagrid({ toolbar: [{ iconCls: 'icon-edit', handler: function(){alert('edit')} },'-',{ iconCls: 'icon-help', handler: function(){alert('help'
阅读全文
摘要:本文体验datagrid显示单行或多行内容。分别用到了datagrid的getSelected,getSelections方法。 Html部分 GetSelected GetSelections 选择单行 //获取单行内容 function getSelected() { //获取选中的行 var row = $('#tt').datagrid('getSelected'); if (row) { $.messager.alert("单行结果", 'ItemId:' + row.ItemId + '\nPrice:
阅读全文
摘要:本文接着上一篇,来体验给datagrid加上搜索功能。主要涉及到:※ 把一个div与datagrid相关起来 ※ datagrid接收查询参数 ※ 查询参数的封装效果图: 查询参数封装分页相关的是每个页面都能用到的,所以把分页相关的封装成基类。 与查询相关的,封装成继承基类的子类。 public class PageParam { public int PageSize { get; set; } public int PageIndex { get; set; } } public class BookParam : PagePa...
阅读全文
摘要:本文体验jQuery EasyUI的datagrid在MVC中的应用。主要涉及到:※ datagrid的基本属性和方法 ※ datagrid分页在前后台的实现最终效果: 与视图显示对应的view model public class Book { public string ItemId { get; set; } public string ProductId { get; set; } public decimal ListPrice { get; set; } public decimal UnitCost { ...
阅读全文
摘要:配置、单元测试、AOP注入Decimal转换成String类型源数组转换成目标数组 源中的集合(数组)属性转换成目标中的集合(数组)属性子类父类间的映射 源字典集合转换成目标字典集合枚举映射自定义解析器 源中的复杂属性和Get...方法转换成目标属性类型转换,源string类型分别转换成int, DateTime,Type源和目标都包含复杂类型属性把源中的一个属性映射到目标中的多个属性动态实现接口方法或属性目标中的属性如果比源多,可以忽略多出的属性目标有virtual属性,可忽略目标属性值为null的解决办法int转stringbool转stringDateTime转String判断条件当源和
阅读全文
摘要:本篇参考了 Shailendra Chauhan和 Jag Reehal的博文。 RenderParital和RenderAction的共同点: ※ 都能返回部分视图 ※ 返回的部分视图和主视图共用一个TextWriter对象把内容写到Http Response中 什么时候使用Html.RenderPartial 当部分视图中的数据是主视图的一部分,即部分视图的Model是主视图Model的一个集合类型属性的时候,倾向于用Html.RenderPartial。 就像如下为了展示主视图view model的一个集合类型属性IEnume...
阅读全文
摘要:本文参考了Taswar Bhatti的博客,他写了《Instant AutoMapper》这本书。遗憾的是,这本电子版书在国内还买不到,也下载不到。也只能从他的有限几篇博文中来窥探一二了。 本文模拟了一个关于订单的应用场景,涉及到的方面包括: ※ 显示所有订单 ※ 显示客户信息 ※ 显示订单,但不显示view model OrderDto中的集合导航属性 ※ 把源中的DateTime类型转换成int类型 ※ 把源中的bool类型转换成string类型 ※ 把源中的集合导航属性IEnumerable LineItems转换成目标中的计算数量的strin...
阅读全文
摘要:本篇AutoMapper使用场景:※ 当源和目标具有同名的复杂类型属性、集合类型属性,这2种属性对应的类间也需建立映射※ 一次性定义好源和目标的所有映射※ 一次性定义好源和目标的所有映射,目标中有复杂类型属性※ 一次性定义好源和目标的所有映射,目标中有复杂类型属性,为复杂类型创建自定义解析器 □ Domain model public class BookStore { public string Name { get; set; } public Address Address { get; set; } publ...
阅读全文
摘要:本篇AutoMapper使用场景: ※ 动态实现接口方法或属性 ※ 目标中的属性如果比源多,可以忽略多出的属性 ※ 目标有virtual属性,可忽略 ※ 目标属性值为null的解决办法 ※ int转string ※ bool转string ※ DateTime转String ※判断条件 动态实现接口方法或属性 public interface ICreateOrderMessage { string CustomerName { get; set; } } □ 使用...
阅读全文
摘要:本篇AutoMapper使用场景: ※ 类型转换,源string类型分别转换成int, DateTime,Type ※ 源和目标都包含复杂类型属性 ※ 把源中的一个属性映射到目标中的多个属性 类型转换,源string类型分别转换成int, DateTime,Type □ Domain model public class Source2 { public string Value1 { get; set; } public string Value2 { get; set; } ...
阅读全文
摘要:本篇AutoMapper使用场景:※ 源字典集合转换成目标字典集合※ 枚举映射※ 自定义解析器 ※ 源中的复杂属性和Get...方法转换成目标属性源字典集合转换成目标字典集合 □ Domain model public class SourceValue { public int Value { get; set; } } □ View model public class DestValue { public int Value { get; set; } } ...
阅读全文
摘要:本篇AutoMapper使用场景: ※ Decimal转换成String类型 ※ 源数组转换成目标数组 ※ 源中的集合(数组)属性转换成目标中的集合(数组)属性 ※ 子类父类间的映射 Decimal转换成String类型 □ Domain model public class Order { public decimal Amount { get; set; } } □ View model public class OrderListViewModel ...
阅读全文
摘要:MVC中,如果想在Domain Model和View Model之间建立映射,用AutoMapper是一个不错的选择。不仅如此,AutoMapper能在不同对象之间建立映射,比如string与int类型, DateTime与int类型,接口与实现类,等等。本篇主要总结AutoMapper在MVC中的配置、使用、单元测试,以及各种映射场景。 注意: 如果通过NuGet下载最新版的AutoMapper,需要注意的是:有些方法,比如ForMember方法,和以前不一样。还有一些方法已经过期。 配置 □ 全局配置 1 public class MvcAppli...
阅读全文
浙公网安备 33010602011771号