首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

jquery 怎么填充 dropdonwnlist

2013-09-25 
jquery 如何填充 dropdonwnlist?问题描述:按如下方式进行测试,ddlCompany没有数据,ddlCompany1 有数据,猜

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给讲讲原因吧


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

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

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

热点排行