数据回填

这次说一下关于页面数据回填的问题,下面的方法就是一个修改按钮内含的方法
function updateNoticeType(NoticeTypeID) {
$(’#formNoticeType input[type=“reset”]’).click();//重置form表单
$.post(“SelectNoticeTypeById”, //连接。提交数据查询查出将要回填的在控制器的方法
{ NoticeTypeID: NoticeTypeID }, function (data) {
loadDatatoForm(“formNoticeType”, data);//根据json对象填充form表单
});
loadDatatoForm是一个我封装好的数据回填方法,后面有详细的说明
因为layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用0以外的层类型就必须按layer.open({type: 1})这种方式调用,则type为必填项(信息框0除外)
layerIndex = layer.open({
type: 1,
area: [“480px”, “180px”],
offset: “auto”,
title: “修改公告类型”,
content: $("#layerNoticeType")//一个页面的ID
});
}
控制器中的查询,查询需要回填的数据。因为我要用到的数据少所以是单表。单表多表示一样的写法,查出唯一的数据直接返回就行
public ActionResult SelectNoticeTypeById(int noticeTypeId)
{
try{
SYS_NoticeTypeTable noticeType =
(from tbNoticeType in myModels.SYS_NoticeTypeTable
where tbNoticeType.NoticeTypeID == noticeTypeId
select tbNoticeType).Single();
return Json(noticeType, JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{ Console.WriteLine(e);
return Json(null, JsonRequestBehavior.AllowGet);
}}
自己封装好的数据回填方法。因为不止一次用到。如果只是用一次的话。可以按这个思路自己在页面接收到控制器的返回值后写一个。
function loadDatatoForm(fromId, jsonDate) {
var obj = jsonDate;
var key, value, tagName, type, arr;
for (x in obj) {//进行循环的json对象
key = x;
value = obj[x];
增加form表单id 和 json对象中的key查找 表单控件
$("#" + fromId + " [name=’" + key + “’],#” + fromId + " [name=’" + key + “[]’]”).each(function () {
tagName = $(this)[0].tagName;
type = $(this).attr(‘type’);
if (tagName == ‘INPUT’) {
if (type == ‘radio’) {
$(this).attr(‘checked’, KaTeX parse error: Expected 'EOF', got '}' at position 41: … }̲ else if (type …(this).val() == arr[i]) {
$(this).attr(‘checked’, true);
break;
}}
} catch (e) {
如果就只有一个复选框直接设值
$(this).attr(‘checked’, value); }
} else {
$(this).val(value); }
} else if (tagName == ‘TEXTAREA’) {
KaTeX parse error: Expected 'EOF', got '}' at position 32: …); }̲ else if (tagNa…(this).hasClass(“select2”)) {
select2 插件的赋值方法
$(this).val(value).trigger(“change”);
} else {
$(this).val(value);
}}});}}
好了这次的数据回填就讲到这里了,再见

数据回填

这次说一下关于页面数据回填的问题,下面的方法就是一个修改按钮内含的方法
function updateNoticeType(NoticeTypeID) {
$(’#formNoticeType input[type=“reset”]’).click();//重置form表单
$.post(“SelectNoticeTypeById”, //连接。提交数据查询查出将要回填的在控制器的方法
{ NoticeTypeID: NoticeTypeID }, function (data) {
loadDatatoForm(“formNoticeType”, data);//根据json对象填充form表单
});
loadDatatoForm是一个我封装好的数据回填方法,后面有详细的说明
因为layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用0以外的层类型就必须按layer.open({type: 1})这种方式调用,则type为必填项(信息框0除外)
layerIndex = layer.open({
type: 1,
area: [“480px”, “180px”],
offset: “auto”,
title: “修改公告类型”,
content: $("#layerNoticeType")//一个页面的ID
});
}
控制器中的查询,查询需要回填的数据。因为我要用到的数据少所以是单表。单表多表示一样的写法,查出唯一的数据直接返回就行
public ActionResult SelectNoticeTypeById(int noticeTypeId)
{
try{
SYS_NoticeTypeTable noticeType =
(from tbNoticeType in myModels.SYS_NoticeTypeTable
where tbNoticeType.NoticeTypeID == noticeTypeId
select tbNoticeType).Single();
return Json(noticeType, JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{ Console.WriteLine(e);
return Json(null, JsonRequestBehavior.AllowGet);
}}
自己封装好的数据回填方法。因为不止一次用到。如果只是用一次的话。可以按这个思路自己在页面接收到控制器的返回值后写一个。
function loadDatatoForm(fromId, jsonDate) {
var obj = jsonDate;
var key, value, tagName, type, arr;
for (x in obj) {//进行循环的json对象
key = x;
value = obj[x];
增加form表单id 和 json对象中的key查找 表单控件
$("#" + fromId + " [name=’" + key + “’],#” + fromId + " [name=’" + key + “[]’]”).each(function () {
tagName = $(this)[0].tagName;
type = $(this).attr(‘type’);
if (tagName == ‘INPUT’) {
if (type == ‘radio’) {
$(this).attr(‘checked’, KaTeX parse error: Expected 'EOF', got '}' at position 41: … }̲ else if (type …(this).val() == arr[i]) {
$(this).attr(‘checked’, true);
break;
}}
} catch (e) {
如果就只有一个复选框直接设值
$(this).attr(‘checked’, value); }
} else {
$(this).val(value); }
} else if (tagName == ‘TEXTAREA’) {
KaTeX parse error: Expected 'EOF', got '}' at position 32: …); }̲ else if (tagNa…(this).hasClass(“select2”)) {
select2 插件的赋值方法
$(this).val(value).trigger(“change”);
} else {
$(this).val(value);
}}});}}
好了这次的数据回填就讲到这里了,再见