首页 新闻 搜索 专区 学院

DataTable数据表能绑定到select下拉列表框吗?高手给点代码

0
悬赏园豆:20 [已关闭问题] 关闭于 2015-10-16 15:11

如题,我要用js绑定到下拉列表框,大神们给点代码啊

jinggege的主页 jinggege | 初学一级 | 园豆:5
提问于:2015-09-17 15:55
< >
分享
所有回答(7)
0

后台处理DataTable通过web api返回json,前端调用接口绑定

MrNice | 园豆:3023 (老鸟四级) | 2015-09-17 15:58

关键代码你能写几步吗?从DataTable以后,到js里面怎么写,

支持(0) 反对(0) jinggege | 园豆:5 (初学一级) | 2015-09-17 16:00

@jinggege: 我只是提供你这种思路,我不清楚你的项目是通过什么向前端返回数据的,如果是采用web api向前端返回数据,后台序列化DataTable成json字符串,前端都过ajax请求web api成功之后,把数据绑定到select中

支持(0) 反对(0) MrNice | 园豆:3023 (老鸟四级) | 2015-09-17 16:03

@MrNice: 我问你,我的DataTable里面有两列,我要怎么获取第二列一整列的值

支持(0) 反对(0) jinggege | 园豆:5 (初学一级) | 2015-09-17 16:05

@jinggege: 可以使用linq

支持(0) 反对(0) MrNice | 园豆:3023 (老鸟四级) | 2015-09-17 16:06

@MrNice: 这个我不懂,有没有其他简单点的方法

支持(0) 反对(0) jinggege | 园豆:5 (初学一级) | 2015-09-17 16:08

@jinggege: foreach循环

支持(0) 反对(0) MrNice | 园豆:3023 (老鸟四级) | 2015-09-17 16:09
0

完全可以

伤心懒睡猪 | 园豆:346 (菜鸟二级) | 2015-09-17 16:30

怎么写,写几步好吧

支持(0) 反对(0) jinggege | 园豆:5 (初学一级) | 2015-09-17 16:30
0

你既然想用js,直接返回一个json解析可以,还是举个用ViewData简单例子吧

<select id="addressDropdown" name="addressDropdown">
                                    @{
    var addressBooks = ViewData["AddressBook"] as IEnumerable<WebPrint.Model.AddressBook>;
                                    }
                                    @if (addressBooks != null)
                                    {
                                        foreach (var item in addressBooks)
                                        {
                                            <option value="@item.Id">在这里面加入你的table</option>
                                        }
                                    }
                                    <option value="0">Other</option>
                                </select>
稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-17 16:32

<option value="@item.Id" class="table">在这里面加入你的table</option>,你也可以在JS里面拼出来

支持(0) 反对(0) 稳稳的河 | 园豆:4216 (老鸟四级) | 2015-09-17 16:39
0

在页面写个ajax提交,在后台读取你数据库存储的数据后,读取的数据是DataTable类型的,此时你需要把DataTable转换成list集合里面,在把list集合转换为JSON对象,ajax的data,参数就是你后台的json转换的那个方法,取出来值了就用Jquery赋值就OK了

青龙游天dean | 园豆:113 (初学一级) | 2015-09-17 23:14
0

using Newtonsoft.Json;

JavaScriptConvert.SerializeObject(List<Model>); //Model为数据

返回给ajax

 

前台处理下数据结构

var list=List<Model>;

var html="";

for (var i = 0; i < list.length; i++) {

  html+='<option value="'+list[i].ID+'">'+list[i].Name+'</option>';

}

$("selectId").html(html);

imluzhi | 园豆:37 (初学一级) | 2015-09-25 17:10
0

直接用了蛮办法

jinggege | 园豆:5 (初学一级) | 2015-10-16 15:11
0
html.aspx前台:

<select id='s1' name='s1' >
<option value="1">1</option>
</select>

<select id='s2' name='s2' >
<option value="1">1</option>
</select>

 

js:

//选择s1后,加载s2中的选项
//ajax异步获取联动信息
$.get("Temp.aspx", { id: $("#s1").val() }, function (data) { 
                    $("#s2").html(data);
                });

 

 

Temp.aspx 后台:

if (Request.QueryString["id"] != null)
 {
            string id= Request.QueryString["id"].ToString();
           //根据id查询的table
           DataTable table = null;
            StringBuilder str = new StringBuilder();
            foreach (DataRow dr  in table.Rows)
            {
                str.AppendFormat("<option value=\"{0}\">{1}</option>",dr["id"],dr["name"]);
            }
            Response.Write(str.ToString());
           
}
无影飞絮剑 | 园豆:1155 (小虾三级) | 2015-10-16 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册