webform 中使用easyui的datagrid怎么绑定数据?

rafael_z 2017-07-25 09:28:06
如题,我用的是webform,后台要写在aspx.cs的那个文件里该怎么写,不要说写在一般处理程序(.ashx)里面,那个我知道怎么写,但问题是我们这边要求写在xx.aspx.cs的文件里,下面是我现在前台的代码,我该怎么写后台,求救
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SmsIndex.aspx.cs" Inherits="RCPMIS_AQJKPT.ModuleSources.SMS.SmsIndex" enableEventValidation="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<link rel="stylesheet" type="text/css" href="../../Commons/Easy-UI/themes/default/easyui.css"/>
<link rel="stylesheet" type="text/css" href="../../Commons/Easy-UI/themes/icon.css"/>
<link rel="stylesheet" type="text/css" href="../../Commons/Easy-UI/demo.css"/>
<script type="text/javascript" src="../../Commons/Easy-UI/jquery.min.js"></script>
<script type="text/javascript" src="../../Commons/Easy-UI/jquery.easyui.min.js"></script>
<script type="text/javascript">
var xmlHttp = null; //ajax xmlhttp对象
var recordId = ""; //选中记录的ID
//初始化
window.onload = function () {
TrHover("tabList", 1);
}

//表格行单击操作
function RowClick(clickTr, rid) {
TrHover("tabList", 1);
clickTr.className = "tr_hover";
recordId = rid;
//记录唯一ID rid
}

//增加记录
function AddRecord() {
document.getElementById("div1").style.display = "block";
$("#text1").attr("disabled", false);
$("#text2").attr("disabled", false);
$("#text3").attr("disabled", false);
$("#text1").val("");
$("#text2").val("");
$("#text3").val("");
}

//修改记录
function ModifyRecord() {
if (recordId == "") {
alert(_RecordModifyInfo);
return;
}
//处理代码
}

//删除记录
function DeleteRecord() {
if (recordId == "") {
alert(_RecordDeleteInfo);
return;
}
if (confirm(_RecordDeleteConf)) {
var ajaxurl = "AjaxServer.aspx?tName=test1&tFilter=f_sqid=" + recordId;
Ajax_GET(ajaxurl, OnDeleteData);
}
}
//数据删除操作
function OnDeleteData() {
var result = "";
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
result = xmlHttp.responseText;
if (result.isInteger() && parseInt(result) > 0) {
window.parent.location.reload();
}
else {
alert(result);
}
}
}
}
function getData(){
var rows = [];
for(var i=1; i<=800; i++){
var amount = Math.floor(Math.random()*1000);
rows.push({
F_SERIAL: 'Inv No '+i,
F_MCODE: $.fn.datebox.defaults.formatter(new Date()),
F_MNAME: 'Name '+i,
F_MDESC: amount,
})
}
return rows;
}
function pagerFilter(data) {
if (typeof data.length == 'number' && typeof data.splice == 'function') { // is array
data = {
total: data.length,
rows: data
}
}
var dg = $(this);
var opts = dg.datagrid('options');
var pager = dg.datagrid('getPager');
pager.pagination({
onSelectPage: function (pageNum, pageSize) {
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
pager.pagination('refresh', {
pageNumber: pageNum,
pageSize: pageSize
});
dg.datagrid('loadData', data);
}
});
if (!data.originalRows) {
data.originalRows = (data.rows);
}
var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);
var end = start + parseInt(opts.pageSize);
data.rows = (data.originalRows.slice(start, end));
return data;
}

$(function () {
$('#dg').datagrid({ loadFilter: pagerFilter }).datagrid('loadData', getData());
});
</script>
</head>
<body class="easyui-layout">

<div data-options="region:'center',title:'North Title',split:true" style="height:700px;">
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add'" onclick="AddRecord()">添加</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-edit'"onclick="ModifyRecord()">修改</a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'"onclick="DeleteRecord()">删除</a>
<br />
<table id="dg" style="width:560px;height:340px" data-options="rownumbers:true,singleSelect:true,autoRowHeight:false,pagination:true,pageSize:10">
<thead>
<tr>
<th field="F_SERIAL" width="120">序号</th>
<th field="F_MCODE" width="160">模块编码</th>
<th field="F_MNAME" width="120">模块名称</th>
<th field="F_MDESC" width="120" align="right">模块描述</th>
</tr>
</thead>
</table>
<div id="div1"style="display:none">
<table>
<tr>
<td style="height:30px"><asp:Label ID="Label1" runat="server" Text="模块编码:"></asp:Label></td>
<td>
<input class="easyui-validatebox textbox" disabled="disabled" id="text1" style="width:400px" value=""/>
</td>
</tr>
<tr>
<td style="height:30px"><asp:Label ID="Label2" runat="server" Text="模块名称:"></asp:Label></td>
<td>
<input type="text" id="text2" value="" disabled="disabled" style="width:400px" class="easyui-validatebox textbox"/></td>
</tr>
<tr>
<td style="height:80px; text-align:center; vertical-align:middle"valign="middle" >
<asp:Label ID="Label3" runat="server" Text="模块描述:" ></asp:Label>
</td>
<td>
<input type="text" id="text3" style="width:400px;height:80px;" disabled="disabled"class="easyui-validatebox textbox"/>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center">
<a href="#" class="easyui-linkbutton" id="save" onclick="save()">保存</a>
</td>
</tr>
</table>
</div>
</div>
<script type="text/javascript">
$("#dg").datagrid({
onClickRow: function (index, row) {
document.getElementById("div1").style.display = "block";
var aid = row.F_MCODE; //获取选中行的id
var bid = row.F_MNAME;
var cid = row.F_MDESC;
$("#text1").attr("disabled", true);
$("#text2").attr("disabled", true);
$("#text3").attr("disabled", true);
$("#text1").val(aid);
$("#text2").val(bid);
$("#text3").val(cid);
}
});
</script>
</body>
</html>
...全文
543 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
正怒月神 版主 2017-07-27
  • 打赏
  • 举报
回复
引用 13 楼 rafael_z 的回复:
和你说了,你看看链接的 1,2两章。 第二章就是讲HttpHandler了
这个我真的看过了,后边用的还是ashx的一般处理文件,那种的方式的我是知道的,就是webform提交到aspx.cs不知道该怎么用[/quote] 我晕,是我审题不清。没注意你必须写在aspx.cs里。 方法也就是你这样了,[webmethod] 并且方法需要static。 但是这个方案并不好。问题出在static没法调用非static的情况上。 这导致你cs中很多方法可能需要变为static。
rafael_z 2017-07-27
  • 打赏
  • 举报
回复
最后把代码贴出来,也给后续有缘遇到我这个问题的一个方向
function getData1() {
            var ss;
            $.ajax({
                type: "post", //要用post方式                 
                url: "SmsModelSet.aspx/SayHello", //方法所在页面和方法名
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false, 
                success: function (data) {
                    ss= eval('(' + data.d + ')');
                },
                error: function (err) {
                    alert(err);
                }
            });
            return ss;
        }
这个是前台的,然后是后台
[WebMethod]
        public static string SayHello()
        {
            List<dynamic> ls = new List<dynamic>();
            for (var i = 1; i <= 800; i++)
            {
                ls.Add(new
                {
                    F_ACODE = i,
                    F_ANAME = 2 * i,
                    F_ADESC = 3 * i,
                    F_MCODE = 4 * i,
                    F_SERIAL = DateTime.Now.ToString(),
                });
            }
            JavaScriptSerializer jsonSerialize = new JavaScriptSerializer();
            return jsonSerialize.Serialize(ls);
        }
rafael_z 2017-07-27
  • 打赏
  • 举报
回复
引用 12 楼 hanjun0612 的回复:
[quote=引用 11 楼 rafael_z 的回复:] 大哥我要的是后台的你这是前台的吧
和你说了,你看看链接的 1,2两章。 第二章就是讲HttpHandler了[/quote]这个我真的看过了,后边用的还是ashx的一般处理文件,那种的方式的我是知道的,就是webform提交到aspx.cs不知道该怎么用
正怒月神 版主 2017-07-27
  • 打赏
  • 举报
回复
引用 11 楼 rafael_z 的回复:
大哥我要的是后台的你这是前台的吧
和你说了,你看看链接的 1,2两章。 第二章就是讲HttpHandler了
rafael_z 2017-07-27
  • 打赏
  • 举报
回复
引用 6 楼 heyuhua12 的回复:

      <div id="p1" class="easyui-panel mywork-panel" title="流转面积分类统计(表)" data-options="
                 tools:[
				{
					iconCls:'icon-excel',
					handler:Export
				}],
                collapsible:false,minimizable:false,maximizable:false,closable:false">
                    <div id="grid" class="mini-datagrid" url="../../statistics/bourse/Area.aspx?action=GetReport"
                        allowalternating="true" allowresize="false" fitcolumns="false" showpager="false"
                        pagesize="50" showsummaryrow="true" ondrawsummarycell="onDrawSummaryCell" style="min-width: 350px; height: 230px">
                        <div property="columns">
                            <div field="name" name="name" width="100" allowsort="true" headeralign="center"
                                align="center">
                                流转面积</div>
                            <div field="count" name="count" width="60" allowsort="true" headeralign="center"
                                align="center">
                                宗数</div>
                            <div field="area" name="area" width="80" allowsort="true" headeralign="center"
                                align="center">
                                面积(亩)</div>
                            <div field="rent" name="rent" width="110" allowsort="true" headeralign="center"
                                align="center">
                                租金金额(万元)</div>
                            <div field="invest" name="invest" width="100" allowsort="true" headeralign="center"
                                align="center">
                                投资额(万元)</div>
                            <div field="peasant" name="peasant" width="90" allowsort="true" headeralign="center"
                                align="center">
                                涉及农户数</div>
                        </div>
                    </div>
                </div>
大哥我要的是后台的你这是前台的吧
rafael_z 2017-07-27
  • 打赏
  • 举报
回复
引用 7 楼 sp1234 的回复:
[quote=引用 楼主 rafael_z 的回复:] 如题,我用的是webform,后台要写在aspx.cs的那个文件里该怎么写,不要说写在一般处理程序(.ashx)里面,那个我知道怎么写,但问题是我们这边要求写在xx.aspx.cs的文件里,
我的建议是正规去学 asp.net。至少6个月不要上 csdn。[/quote]我之前确实是学过asp.net的,可能是学的不太扎实吧,有些东西有时候会迷糊,之前都是用的MVC,webform好久没用了,突然上手有点懵不过还是多谢你了,你的建议我会参考一下,尽量自己动手
rafael_z 2017-07-27
  • 打赏
  • 举报
回复
引用 8 楼 hanjun0612 的回复:
[quote=引用 5 楼 rafael_z 的回复:] 谢谢了
看一下这篇的1,2两章 http://blog.csdn.net/jiuqiyuliang/article/details/19494263 [/quote]这个在我问之前看过了,不过问题我已经解决了,昨天线下找的大神解决的,不过还是挺感谢你的
正怒月神 版主 2017-07-27
  • 打赏
  • 举报
回复
引用 5 楼 rafael_z 的回复:
谢谢了
看一下这篇的1,2两章 http://blog.csdn.net/jiuqiyuliang/article/details/19494263
rafael_z 2017-07-27
  • 打赏
  • 举报
回复
引用 15 楼 hanjun0612 的回复:
[quote=引用 13 楼 rafael_z 的回复:] 和你说了,你看看链接的 1,2两章。 第二章就是讲HttpHandler了
这个我真的看过了,后边用的还是ashx的一般处理文件,那种的方式的我是知道的,就是webform提交到aspx.cs不知道该怎么用[/quote] 我晕,是我审题不清。没注意你必须写在aspx.cs里。 方法也就是你这样了,[webmethod] 并且方法需要static。 但是这个方案并不好。问题出在static没法调用非static的情况上。 这导致你cs中很多方法可能需要变为static。[/quote]暂时只能是先这样了,先把东西赶出来,后续不足之处再继续学习修改
  • 打赏
  • 举报
回复
引用 楼主 rafael_z 的回复:
如题,我用的是webform,后台要写在aspx.cs的那个文件里该怎么写,不要说写在一般处理程序(.ashx)里面,那个我知道怎么写,但问题是我们这边要求写在xx.aspx.cs的文件里,
我的建议是正规去学 asp.net。至少6个月不要上 csdn。
heyuhua12 2017-07-26
  • 打赏
  • 举报
回复

<div id="p1" class="easyui-panel mywork-panel" title="流转面积分类统计(表)" data-options="
tools:[
{
iconCls:'icon-excel',
handler:Export
}],
collapsible:false,minimizable:false,maximizable:false,closable:false">
<div id="grid" class="mini-datagrid" url="../../statistics/bourse/Area.aspx?action=GetReport"
allowalternating="true" allowresize="false" fitcolumns="false" showpager="false"
pagesize="50" showsummaryrow="true" ondrawsummarycell="onDrawSummaryCell" style="min-width: 350px; height: 230px">
<div property="columns">
<div field="name" name="name" width="100" allowsort="true" headeralign="center"
align="center">
流转面积</div>
<div field="count" name="count" width="60" allowsort="true" headeralign="center"
align="center">
宗数</div>
<div field="area" name="area" width="80" allowsort="true" headeralign="center"
align="center">
面积(亩)</div>
<div field="rent" name="rent" width="110" allowsort="true" headeralign="center"
align="center">
租金金额(万元)</div>
<div field="invest" name="invest" width="100" allowsort="true" headeralign="center"
align="center">
投资额(万元)</div>
<div field="peasant" name="peasant" width="90" allowsort="true" headeralign="center"
align="center">
涉及农户数</div>
</div>
</div>
</div>
rafael_z 2017-07-26
  • 打赏
  • 举报
回复
引用 4 楼 hanjun0612 的回复:
一样的,原理还是ajax访问后台数据aspx的话,通过handle返回json。
那地址该怎么写?还是像ashx那样吗?可是这样的话又要怎么分辨啊,ashx可以写成好几个页面来传方法,aspx又该怎么写?aspx只有一个后台页面啊,还有就是返回值还是与ashx一样用context.Response.Write这个吗?如果可以的话能不能麻烦你参考我的那个页面写一个我看一下,或者发一个类似的例子也行,谢谢了
正怒月神 版主 2017-07-26
  • 打赏
  • 举报
回复
一样的,原理还是ajax访问后台数据aspx的话,通过handle返回json。
rafael_z 2017-07-26
  • 打赏
  • 举报
回复
引用 2 楼 xrd42077 的回复:
http://blog.csdn.net/cqulyk/article/details/43878589
这个大哥,你确定这个网址打得开吗?我打不开啊
xrd42077 2017-07-26
  • 打赏
  • 举报
回复
http://blog.csdn.net/cqulyk/article/details/43878589
rafael_z 2017-07-25
  • 打赏
  • 举报
回复
这种的前后台要怎么写啊

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧