读书人

jquery 怎么填充 dropdonwnlist

发布时间: 2013-09-25 11:02:58 作者: rapoo

jquery 如何填充 dropdonwnlist?
问题描述:按如下方式进行测试,ddlCompany没有数据,ddlCompany1 有数据,猜测是中文编码问题,这个怎么搞?

Controller中

培训中心表列名都是中文字段
public JsonResult GetCompany()
{
IQueryable<培训中心> queryResult = testDataContext.培训中心;
return Json(queryResult.ToList(), JsonRequestBehavior.AllowGet);

}

TCompany 表列名都是英文字段
public JsonResult GetCompany1()
{
IQueryable<TCompany> queryResult = testDataContext1.TCompany;
return Json(queryResult.ToList(), JsonRequestBehavior.AllowGet);
//this.Json("/Home/GetCompany/", JsonRequestBehavior.AllowGet);

}

view中jquery 给 dropdownlist 填充数据

function GetByJquery() {

$("#ddlCompany").empty();
$.getJSON("/Home/GetCompany/", function (data1) {
$.each(data1, function (i, item) {

$("<option></option>")
.val(item["中心标识"].toString())
.text(item["中心名称"])
.appendTo($("#ddlCompany"));
});


//GetPlant();
});
}

function GetByJquery1() {

$("#ddlCompany1").empty();

$.getJSON("/Home/GetCompany1/", function (data2) {
$.each(data2, function (i, item) {
$("<option></option>")
.val(item["companyId"])
.text(item["companyName"])
.appendTo($("#ddlCompany1"));
});
//GetPlant1();
});
}

[解决办法]
先看一下alert(data1)是否返回了数据,再判断是js问题还是服务器端问题
[解决办法]
没用到中文变量!
1、试试
public JsonResult GetCompany()


{
IQueryable<培训中心> queryResult = testDataContext.培训中心; //这里用IEnumerable就行了,没必要用IQueryable
var ret=queryResult.ToList(); //这里断点看看有没有结果
return Json(ret, JsonRequestBehavior.AllowGet);

}
2、看看
var ss=Json(ret); 返回什么

[解决办法]
没用过中文变量!
[解决办法]


以前遇到过
应该是外键的原因吧!
把映射的外键删了试试! 要不重新写个实体类 (Ps:还是别弄中文了,看着蛋疼)
[解决办法]
要么这样就
IQueryable<培训中心> queryResult = testDataContext.培训中心.Select(n=>new {。。。。。});
[解决办法]
这样就可以正常序列化了
[解决办法]
引用:
sp总是很犀利地指出关键,不是中文的关系,我怀疑是数据表建了关系的问题,把关系搞掉好像就可以了,请sp给讲讲原因吧


我不知道原因,其实我也很少先去想原因。我的技术来自于测试,而不是见到问题就去空想原因。

不但是遇到了问题,就是正常的开发之前你也习惯于“测试驱动开发”,那么你就知道你该干什么测试。就好像那些高空作业的人知道先绑好安全绳,如果没有绑好安全绳是不会随便跳出去的。习惯了测试驱动,你每一次遇到问题时都能在几分钟内调试出问题,甚至根本不用调试而你的习惯就会提前告诉你哪里可能有问题。

其实我没有去猜测这是什么原因,我总是等着出了问题以后采取想原因。我不考虑是非问题,也可以比较快地解决是非问题。

读书人网 >asp.net

热点推荐