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