1,读取数据库显示在前台网页,利用json进行传值
Json格式介绍:http://blog.youkuaiyun.com/sunlovefly2012/article/details/10255757
后台读取list后转换为easyui格式的Json:
前台得到json后,datagrid利用 data-options="field:'EnterpriseClass_ID'进行显示可以再data-option 里面设置url指向返回值为json的函数也可以利用
在加载网页的时候进行读入数据
数据读入后可以利用var row = $('#main_dg').datagrid('getSelected');来读取选的的列的属性,并且可以load的对应的form中,前提是name名字一致
添加删除以及查找的时候可以利用 $.post进行传值,传给后台controller,然后按照名字进行匹配赋值。get是利用?name= 进行传值。显式传值。post方式是利用特定的格式进行传值。post大小无限制
get传值:适合少量数据,因为是利用url进行传值,所以不安全,数据大小有限
post传值:适合大量传值以及表单传值
利用 Request.Form进行post的读取
Json格式介绍:http://blog.youkuaiyun.com/sunlovefly2012/article/details/10255757
后台读取list后转换为easyui格式的Json:
保证data-options="field:'EnterpriseClass_ID'中的变量的名字一致即可;
public JsonResult getinfobyid()
{
EnterpriseInfoService _enterpriseinfoservice = new EnterpriseInfoService();
var list = _enterpriseinfoservice.EnterpriseInfoGet(10001);
if (list.Count() == 0)
{
EnterpriseClass temp = new EnterpriseClass();
temp.EnterpriseClass_ID = 0;
temp.EnterpriseClass_Name = "Null";
list.Add(temp);
}
var myjson = new { total = list.Count(), rows = list };
return Json(myjson, JsonRequestBehavior.AllowGet);
}
前台得到json后,datagrid利用 data-options="field:'EnterpriseClass_ID'进行显示可以再data-option 里面设置url指向返回值为json的函数也可以利用
function getData() {
$('#main_dg').datagrid({
url: '@Url.Action("getclasslist")',
method: 'get'
});
// alert("caca");
}
$(document).ready(function () {
getData();
})
在加载网页的时候进行读入数据
<table id="main_dg" title="角色列表" class="easyui-datagrid"
method="get" data-options="onClickRow:onclick"
toolbar="#toolbar" pagination="true" idField="id"
rownumbers="true" fitColumns="true" singleSelect="true">
<thead>
<tr>
<th data-options="field:'EnterpriseClass_ID',width:80">企业类别编号</th>
<th data-options="field:'EnterpriseClass_Name',width:100">企业类别名称</th>
<th data-options="field:'EnterpriseClass_Option',width:80,align:'right'">备注</th>
</tr>
</thead>
</table>
数据读入后可以利用var row = $('#main_dg').datagrid('getSelected');来读取选的的列的属性,并且可以load的对应的form中,前提是name名字一致
function edit_class()
{
var row = $('#main_dg').datagrid('getSelected');
if (row) {
$('#edit_dlg').dialog('open').dialog('setTitle', '权限修改');
$('#edit_fm').form('load', row);
url = 'SaveRoleEdit';
}
}
添加删除以及查找的时候可以利用 $.post进行传值,传给后台controller,然后按照名字进行匹配赋值。get是利用?name= 进行传值。显式传值。post方式是利用特定的格式进行传值。post大小无限制
get传值:适合少量数据,因为是利用url进行传值,所以不安全,数据大小有限
function deleteclass() {
var row = $('#main_dg').datagrid('getSelected'); //得到datagrid的row的编号,编号从0开始计算。
if (row) {
$.messager.confirm('Confirm', 'Are you sure you want to destroy this user?', function (r)
{
if (r) {
$.get('deleteclass?id=' + row.EnterpriseClass_ID, function (result)
{
if (result == "True") //result为返回值,返回的参数(可以读取true),但是无法读取返回对象的属性
{
$('#main_dg').datagrid('reload'); // reload the user data
}
else
{
$.messager.show({ // show error message
title: 'Error',
msg: '删除错误'
});
}
});
}
});
}
}
post传值:适合大量传值以及表单传值
function saveedit()
{
$('#edit_fm').form('submit', {
url: "saveedit",
onSubmit: function () {
return $(this).form('validate');
},
success: function (result) {
if (result == "True") {
$("#edit_dlg").dialog('close');
$("#main_dg").datagrid('reload');
}
else {
alert("角色编辑失败");
}
}
});
}
利用 Request.Form进行post的读取
public bool saveedit()
{
int id=Convert.ToInt32(Request.Form["EnterpriseClass_ID"]);
EnterpriseClassService new_classserveice = new EnterpriseClassService();
IEnterpriseClassRepository _classrepository = new EnterpriseClassRepository();
EnterpriseClass _entpristclass = _classrepository.LoadEntities(EnterpriseClass => EnterpriseClass.EnterpriseClass_ID == id).FirstOrDefault();
_entpristclass.EnterpriseClass_Name = Request.Form["EnterpriseClass_Name"];
_entpristclass.EnterpriseClass_Option = Request.Form["newEnterpriseClass_Option"];
return new_classserveice.EnterPriseClassUpdate(_entpristclass);
}
修改数据后可以利用重定向url,指向新的json.然后利用load 重新加载,适合查找数据使用
function searchclass()
{
var searchtext = document.getElementById('search_text').value;
if (searchtext) {
$.post('searchclass?name=' + searchtext, function (result) {
if (result != "null") {
$('#main_dg').datagrid({
url: "searchclass?name="+ searchtext,
method: 'get'
});
$('#main_dg').datagrid('reload'); // reload the user data
}
});
}