jQuery MiniUI
标题: 太悲催了,为什么我的datagrid数据显示不了 [打印本页]
作者: oypx1234 时间: 2012-8-10 17:50:22 标题: 太悲催了,为什么我的datagrid数据显示不了
html:
<div id="datagrid1" class="mini-datagrid" style="width:725px;height:250px;"
url="miniuiDataService/AjaxService.aspx?method=SearchProducts" idField="ID"
multiSelect="true" allowResize="true" >
<div property="columns">
<div type="checkcolumn"></div>
<div field="Text" width="120" allowSort="true">产品名称</div>
<div field="Area" width="100" allowSort="true">地区</div>
<div field="Amount" width="100" allowSort="true">金额</div>
<div field="PointNo" width="100" allowSort="true">MYCARD</div>
<div field="Tiem" width="100" dateFormat="yyyy-MM-dd" allowSort="true">修改日期</div>
</div>
</div>
<div>
<input type="button" value="显示Json 数据" />
<br />
<fieldset>
<legend>获取json数据</legend>
<div id="jsonData"></div>
</fieldset>
</div>
<script type="text/javascript">
mini.parse();
var grid = mini.get("datagrid1");
grid.load();
//showData是我用来测试返回的json数据的,返回没有错误。
function showData() {
$.ajax({
type: "Post",
//发送参数,调用处理方法,返回结果,在页面显示
url: "miniuiDataService/AjaxService.aspx/GetJson",
contentType: "application/json;charset=utf-8",
dataType: "json",
//返回结果
success: function (data) {
$('#jsonData').html(data.d);
},
error: function (err) {
alert(err);
}
})
}
</script>
//服务端我也写了个测试写入读取json的方法返回的json文本数据如下
{"total":2,
"data":[
{"Area":"1",
"ID":"201207181717064687",
"PointNo":"400點",
"Units":"元",
"Time":"2012-07-18T17:17:36",
"VersionType":"",
"Text":"一個遊戲帳號30天",
"IbonPrice":"",
"Name":null,
"NetCardpoint":"點",
"Amount":"250",
"AreaName":"台灣"
},
{"Area":"1",
"ID":"201207181717277187",
"PointNo":"800點",
"Units":"元",
"Time":"2012-07-18T17:17:27",
"VersionType":"",
"Text":"一個遊戲帳號90天",
"IbonPrice":"",
"Name":null,
"NetCardpoint":"點",
"Amount":"500",
"AreaName":"台灣"
}
]}
我很纳闷,我再下载的用例里边扩展,可以显示,但是在我自己的项目里边就显示不出来,js,css路径都没有错误,为什么会这样呢,哪位大侠帮帮我。
作者: niko 时间: 2012-8-10 18:04:13
用datagrid,你根本不需要自己写ajax...
不要事情复杂化啊
这里有表格分页加载的教程:
http://www.miniui.com/docs/tutorial/datagrid.html
作者: oypx1234 时间: 2012-8-10 21:40:01
niko 发表于 2012-8-10 18:04 
用datagrid,你根本不需要自己写ajax...
不要事情复杂化啊
我知道不用自己写AJAX,这里的AJAX是我用来测试获取的json数据,我也是按照你们的例子来做的,在你们的例子里面我进行扩展,可以正常显示,所以我就搬来自己的项目里了,但是在我自己的项目里就显示不了,不知哪里出问题了。
作者: niko 时间: 2012-8-11 10:10:43
可能是你自己项目中编码有问题把。
作者: oypx1234 时间: 2012-8-11 13:29:41
本帖最后由 oypx1234 于 2012-8-11 13:38 编辑
niko 发表于 2012-8-11 10:10 
可能是你自己项目中编码有问题把。
我的服務端代碼這樣寫的
protected void Page_Load(object sender, EventArgse)
{
String methodName = Request["method"];//这边断点跟踪得到SearchProducts,即我下面的方法
Type type = this.GetType();
MethodInfo method =type.GetMethod(methodName);
if (method == null)throw new Exception("methodis null");
try
{
method.Invoke(this, null);
}
catch (Exceptionex)
{
Hashtableresult = new Hashtable();
result["error"] = -1;
result["message"] =ex.Message;
result["stackTrace"] =ex.StackTrace;
String json = PluSoft.Utils.JSON.Encode(result);
Response.Clear();
Response.Write(json);
}
finally
{
}
}
public voidSearchProducts()
{
//查询条件
string key = Request["key"];
//分页
int pageIndex = Convert.ToInt32(Request["pageIndex"]);
int pageSize = Convert.ToInt32(Request["pageSize"]);
//字段排序
String sortField = Request["sortField"];
String sortOrder = Request["sortOrder"];
//业务层:数据库操作
Hashtable result = new TestDB().SearchProducts(key,pageIndex, pageSize, sortField, sortOrder);
//JSON
String json = PluSoft.Utils.JSON.Encode(result);
Response.Write(json);
}
}
上面的json 可以正常返回
作者: niko 时间: 2012-8-11 19:22:13
那应该没有问题。
你可以把生成的JSON拷贝到一个静态的txt文件,datagrid的url指向这个txt。
如果能正常显示,动态的话也可以。
作者: oypx1234 时间: 2012-8-12 10:50:18
niko 发表于 2012-8-11 19:22 
那应该没有问题。
你可以把生成的JSON拷贝到一个静态的txt文件,datagrid的url指向这个txt。
如果能正常显 ...
哦,谢谢你,我试看看,我有生成txt文件,但我都忘记了可是使用url指向txt文件测试一下,谢谢,明天测试看看。
作者: oypx1234 时间: 2012-8-13 10:25:35
niko 发表于 2012-8-11 19:22 
那应该没有问题。
你可以把生成的JSON拷贝到一个静态的txt文件,datagrid的url指向这个txt。
如果能正常显 ...
太奇怪了,用url指向生成的txt文件可以显示,可是用页面+方法名竟然不可以。
作者: niko 时间: 2012-8-13 13:52:59
肯定是可以的。
你这样做:先基于官方DEMO,实现后台交出。
然后,新建一个项目,把代码考虑进去,没有理由产生不了JSON。
miniui与后台唯一的关系,就是要求后台生成JSON数据。
作者: oypx1234 时间: 2012-8-13 16:39:50
niko 发表于 2012-8-13 13:52 
肯定是可以的。
你这样做:先基于官方DEMO,实现后台交出。
然后,新建一个项目,把代码考虑进去,没有理由 ...
我在官方DEMO里面实现可以实现,自己项目里也可以生成json但是前台还是不行,
我现在把它分离出来新建一个项目,还是不行,源码在这边,要不你帮我看下,非常感谢[attach]343[/attach]
作者: niko 时间: 2012-8-13 16:43:57
把Default.aspx里面的东西,参照AjaxService.aspx。
作者: oypx1234 时间: 2012-8-13 16:49:53
niko 发表于 2012-8-13 16:43 
把Default.aspx里面的东西,参照AjaxService.aspx。
谢谢,终于可以了,为什么要这样写呢?
作者: niko 时间: 2012-8-13 17:07:37
返回JSON的适合,不需要页面其他内容,否则会破坏JSON的完整性。
作者: onlysam 时间: 2012-11-20 13:08:38
oypx1234 发表于 2012-8-13 16:39 
我在官方DEMO里面实现可以实现,自己项目里也可以生成json但是前台还是不行,
我现在把它分离出来新建一 ...
我也是10次里8次显示不出来!
拷贝在txt可以
在后台以json返回的不行 !
无奈~~~
作者: factory 时间: 2012-11-20 14:38:08
onlysam 发表于 2012-11-20 13:08 
我也是10次里8次显示不出来!
拷贝在txt可以
在后台以json返回的不行 !
在ashx里面加上String name = context.Request["name"];这一行代码试试
欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) |
Powered by Discuz! X2 |