1Model
1.1 生成Model
如果已生成数据库,那么在生成映射数据库实体类时使用【来自数据库的CodeFirst实体数据模型】
1.2 小数问题
关于数据实体类的成员变量类型,如果是小数类型,默认是保留两位小数,制定小数类型位数方法:
this.Property(e => e.实体字段).HasPrecision(6,4);
1.3 实体类的关系建立
1.3.1 实体中有些属性如果不需要序列化返回,可以使用该特性:
[Newtonsoft.Json.JsonIgnore]public virtual TestUnit TestUnit { get; set; }
1.3.2 配置一对多的关系
this .HasMany(e => e.TestRadioactionResult) .WithRequired(e => e.TestRadioaction)
2 View
2.1 Grid复合表头
X.Column() .Text(“父表头”) .Columns( X.Column().DataIndex(“源数据字段”).Text(“子表头”) )
2.2 一个View显示多个Model
@model Zone.Biz.Test.Entities.父类//控件值绑定X.TextFieldFor(m => m.属性),X.TextFieldFor(m => m.子类.属性)//提交//直接提交form表单,ation参数用父类接收 Ext.net.DirectMethod.request( { method: 'post', url: '@(Url.Action("SaveVolumetric"))', params: { action: "@(((int)Zone.Biz.Test.Setting.Setting.Action.Save).ToString())", add:"1", }, form: App.VolumetricForm, success: function (result) { ... });
2.3 请求Action的几种常用形式
2.3.1 控件服务端事件直接请求
.DirectEvents(o => { o.Click.Url = Url.Action("ActionName"); o.Click.EventMask.ShowMask = true; o.Click.FormID = "FormID"; o.Click.ExtraParams.Add( new Parameter() { Name = "action", Value =value1, Mode = ParameterMode.Value } ); }),
2.3.2 Ajax请求
$.ajax({type:”post”,url:”ActionName”,datatype:”json”,data:{param1:value1,param2:value2},success:function(data){……}});
2.3.3 Ext.net.DirectMethod.request方式
Ext.net.DirectMethod.request( { method: 'post', url: '@(Url.Action("ActionName"))', form: FormID, params: { param1: value1 }, success: function (result) { ... }, error: function () { ... } } );
2.4 按钮点击的客户端事件和服务端事件问题
2.4.1 如果客户端事件返回false,服务端事件依旧执行问题
Js方法一定要有返回的bool值,并且一定要在调用js方法前加retrun;
正确写法实例:
X.Button().Listeners(ls=>ls.Click.Handler=”retrun CheckFrom()”).DirectEvents(de=>{ ...})
3 Controller