html代码<!DOCTYPE html>
<html>
<head> 
<meta charset="UTF-8"> <link rel="stylesheet" href="web.css">
<link rel="stylesheet" href="easyui/themes/default/easyui.css">
<link rel="stylesheet" href="easyui/themes/icon.css">
<script src="easyui/jquery-1.4.2.min.js"></script>
<script src="easyui/jquery.easyui.min.js"></script>
    
<script src="queryView.js" type="text/javascript"></script>        
</head>
<body class="easyui-layout">    <div region="center" border="false">
    <table id="grid" style="background-color:Red"></table>
</div>
</body></html>js脚本 //公用的函数放到闭包外面var lastIndex;
function doAdd() {
// grid 增加一行, 并且进入编辑模式
$('#grid').datagrid('cancelEdit', lastIndex);
$('#grid').datagrid('appendRow', {
dataViewId : '001'
}); var lastRowIndex = $('#grid').datagrid('getRows').length - 1;
$('#grid').datagrid('beginEdit', lastRowIndex);
lastIndex = lastRowIndex;
}function doDelete() {
if (checkSelection() == false)
return false; var ids = [];
var items = $('#grid').datagrid('getSelections');
for ( var i = 0; i < items.length; i++) {
ids.push(items[i].code);
} alert(ids.join(",")) // 通过ajax删除数据, 可以避免一次查询 // FIXME: 如何得到当前选中的行号呢?
// $('#grid').datagrid('deleteRow', index);
}$(document).ready(function() {$('#grid').datagrid({
    iconCls: 'icon-forward',
    fit: true,
    border: false,
    rownumbers: true,
    striped: true,
    // pageList: [30,50,100],
    // pagination : true,
    // singleSelect : true,
    toolbar: toolbar,
    url: "queryView.json",
    idField: 'itemId',
    // frozenColumns : frozenColumns,
    columns: columns
    // onClickRow : onClickRow,
    //onDblClickRow: doDblClickRow
});});
function checkSelection(){
var items = $('#grid').datagrid('getSelections');
if (items.length == 0){
$.messager.show({title:"提示",msg:'请先选择记录',timeout:3000});
return false;
}
return true;
}function doSave() {
// 必须endEdit后才能算数
$('#grid').datagrid('endEdit', lastIndex);

var rows = $('#grid').datagrid('getChanges');
alert('changed rows: ' + rows.length + ' lines');

// 保存修改后的数据
// ajax 形式保存

// 在grid接受本次的改动
$('#grid').datagrid('acceptChanges');
}// 把双击改为弹出 easyui 的 window/dialog进行edit, 并且保存后刷新list
function doDblClickRow(rowIndex, rowData) {
// alert('row: ' + rowIndex + '\r\n' + 'addr:' + rowData.addr)
if (lastIndex != rowIndex) {
var t1 = new Date().getTime();
$('#grid').datagrid('endEdit', lastIndex);
$('#grid').datagrid('beginEdit', rowIndex);
var t2 = new Date().getTime();
}
lastIndex = rowIndex;
}// 设置列渲染器( FIXME: 没有行渲染器? 如何设置行的颜色)
function editStyleRenderer(val, rec) {
var value = parseTree(val, editStyleData);

if (value == null) value = val;
return value;
}function parseTree(id, data){
for(var i=0,len=data.length;i<len;i++){
if (data[i].id == id)
return data[i].text;

var children = data[i].children;
if (children){
var val = parseTree(id, children);
if (val) return val;
}
}
return null;
}function dispTypeRenderer(val, rec) {
for(var i=0,len=dispTypeData.length;i<len;i++){
if (dispTypeData[i].id == val)
return dispTypeData[i].text;
}
}// 可根据元数据配置来产生字典项目, 用于获得id
// 或者在生成 json 的时候, 把id,name都生成,如: "userId":"001", "_userId_name":"manager"
var editStyleData = [ {
"id" : "01",
"text" : "下拉字典",
"state" : "closed",
"children" : [ {
"id" : "0101",
"text" : "性别"
}, {
"id" : "0102",
"text" : "单位"
} , {
"id" : "0103",
"text" : "部门"
} ]
}, {
"id" : "02",
"text" : "掩码录入",
"state" : "closed",
"children" : [ {
"id" : "0201",
"text" : "yyyy"
}, {
"id" : "0202",
"text" : "yyyy-MM"
} , {
"id" : "0203",
"text" : "yyyy-MM-dd"
} ]
},{
"id" : "03",
"text" : "其他",
"state" : "closed",
"children" : [ {
"id" : "0301",
"text" : "主键 UUID"
}, {
"id" : "0302",
"text" : "主键手工赋值"
} , {
"id" : "0303",
"text" : "主键数值自增"
} , {
"id" : "0304",
"text" : "乐观锁定"
}  , {
"id" : "0305",
"text" : "排序号"
}  , {
"id" : "0306",
"text" : "备注"
}  ]
} ];
// 用于grid反显和编辑
var dispTypeData = [ {
"id" : "",
"text" : "[请选择]",
"selected" : true
}, {
"id" : "00",
"text" : "不处理"
}, {
"id" : "01",
"text" : "显示"
}, {
"id" : "02",
"text" : "只读"
}, {
"id" : "03",
"text" : "隐藏"
} ];
// editor// 列编辑器
var itemNameEditor = {
type : 'text'
};
var itemCnameEditor = {
type : 'text'
};var editStyleEditor = {
type : 'combotree',
options : {
//url : '../data/editStyle.json',
data:editStyleData,
width : 155,
treeWidth : 200
}
};var dispTypeEditor = {
type : 'combobox',
options : {
//url : '../data/dispType.json',
data:dispTypeData,
valueField : 'id',
textField : 'text',
width : 155,
listWidth : 200,
editable : true
}
};var dispWidthEditor = {
type : 'numberbox',
options : {
min : 0,
max : 10000,
precision : 0
}
};// var birthdayEditor = {
// type:'datebox',
// options:{
// formatter: dateFormatter,
// parser: dateParser
// }
// };// 定义标题栏
var columns = [ [ {
field : 'itemId',
title : '项目id',
checkbox : true
}, {
field : 'itemName',
title : '英文名称',
width : 100,
align : 'center',
editor : itemNameEditor
}, {
field : 'itemCname',
title : '备注名称',
width : 120,
align : 'center',
editor : itemCnameEditor
}, {
field : 'editStyleId',
title : '编辑样式',
width : 120,
align : 'center',
formatter : editStyleRenderer,
editor : editStyleEditor
}, {
field : 'dispType',
title : '显示类型',
width : 120,
align : 'center',
formatter : dispTypeRenderer,
editor : dispTypeEditor
}, {
field : 'dispWidth',
title : '显示宽度',
width : 120,
align : 'center',
editor : dispWidthEditor
} ] ];// 定义工具条
var toolbar = [ {
text : '新增',
iconCls : 'icon-add',
handler : doAdd
}, {
text : '删除',
iconCls : 'icon-cancel',
handler : doDelete
}, {
text : '保存',
iconCls : 'icon-save',
handler : doSave
} ];json文件{
"total":0,
"rows":[
{"itemId":"001","dataViewId":"001","itemName":"userId","itemCname":"用户id","editStyleId":"01","dispType":"03","dispWidth":0 },         
{"itemId":"002","dataViewId":"001","itemName":"userName","itemCname":"用户名","editStyleId":"00","dispType":"01","dispWidth":120 },         
{"itemId":"003","dataViewId":"001","itemName":"genderId","itemCname":"性别","editStyleId":"02","dispType":"01","dispWidth":120 },         
{"itemId":"004","dataViewId":"001","itemName":"birthday","itemCname":"生日","editStyleId":"01","dispType":"01","dispWidth":120 },         
{"itemId":"005","dataViewId":"001","itemName":"lockVersion","itemCname":"乐观锁定","editStyleId":"02","dispType":"03","dispWidth":0 }
]
}
 很奇怪的问题,我单独打开html页面有数据显示
可在IIS上和直接用vs右击浏览就不行,有什么区别啊,急等

解决方案 »

  1.   

    url: "queryView.json",
    这个问题,在aspx页面中,是不支持.json文件的,可以换成 .aspx文件 后台输出json数据。
      

  2.   

    我刚开始就是用  url: "type.ashx?type=loadcar",
    服务器中的代码  public void loadorder(HttpContext context) 
            {
                context.Response.ContentType = "text/plain";
                context.Response.Charset = "utf-8";
                try
                {
                    conn.Open();
                    DataSet ds = new DataSet();
                    SqlDataAdapter da = new SqlDataAdapter("select a.orderID as code,a.charge as totalPrice,a.freightTime as precontractTime,b.statusID as reason from WorkOrder a inner join OStatus b on a.statusID=b.statusID ", conn);
                    da.Fill(ds);
                    StringBuilder sbvoca = new StringBuilder();
                    // sbvoca.Append("{\"voce\":[");
                    sbvoca.Append("{");
                    if (ds != null && ds.Tables[0].Rows.Count > 0)
                    {
                        sbvoca.Append("total:" + ds.Tables[0].Rows.Count + ",");
                        sbvoca.Append("rows:[");
                        int i = 1;
                        int count = ds.Tables[0].Rows.Count;
                        foreach (DataRow dr in ds.Tables[0].Rows)
                        {
                            if (i == count)
                            {
                                sbvoca.Append("{\"code:\"" + dr[0] + "\",\"totalPrice\":\"" + dr[1] + "\",\"freightTime\":\"" + dr[2] + "\",\"reason\":\"" + dr[3] + "\"}");
                            }
                            else
                            {
                                sbvoca.Append("{\"code\":\"" + dr[0] + "\",\"totalPrice\":\"" + dr[1] + "\",\"freightTime\":\"" + dr[2] + "\",\"reason\":\"" + dr[3] + "\"},");
                            }
                            i++;
                        }                }
                    else
                    {
                        sbvoca.Append("total:" + 0 + ",");
                        sbvoca.Append("rows:[");
                    
                    }                sbvoca.Append("]}");
                    da.Dispose();
                    ds.Dispose();
                    conn.Close();                context.Response.Write(sbvoca.ToString());                context.Response.End();            }
                catch
                {
                    conn.Close();
                }
                    
            
            }
      

  3.   

    默认提交方式是post  post访问静态文件会报错的  所以不显示