Default.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
</form>
</body>
</html>

Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls; using Model;
using BLL; public partial class _Default : System.Web.UI.Page
{
private CategoryBLL _categoryBLL = new CategoryBLL();
private Category _category = new Category(); private void Page_Init(object sender, System.EventArgs e)
{
BindDrpClass();
}
protected void Page_Load(object sender, EventArgs e)
{
string str = "8/14/19/25"; //数据库读取
string[] arr = str.Split('/');
if (arr.Length == PlaceHolder1.Controls.Count) //防止新增类别时读取出错
{
for (int i = ; i < PlaceHolder1.Controls.Count; i++)
{
if (PlaceHolder1.Controls[i] is DropDownList)
{
((DropDownList)PlaceHolder1.Controls[i]).SelectedValue = arr[i];
}
}
}
} private void BindDrpClass()
{
DataTable dt = _categoryBLL.GetCategory();
DataRow[] drs = dt.Select("pid=0"); foreach (DataRow dr in drs)
{
string id = dr["id"].ToString();
string name = dr["name"].ToString(); DropDownList ddl = new DropDownList();
ddl.Items.Clear();
ddl.ID = "ddl" + id;
ddl.Items.Add(new ListItem("-" + name + "-", id));
PlaceHolder1.Controls.Add(ddl); int sonparentid = int.Parse(id);
BindDrpNode(sonparentid, dt, ddl);
} } private void BindDrpNode(int parentid, DataTable dt, DropDownList ddl)
{
DataRow[] drs = dt.Select("pid= " + parentid);
foreach (DataRow dr in drs)
{
string id = dr["id"].ToString();
string name = dr["name"].ToString(); ddl.Items.Add(new ListItem(name, id));
PlaceHolder1.Controls.Add(ddl);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string category = "";
string category2 = "";
foreach (Control childControl in PlaceHolder1.Controls)
{
if (childControl is DropDownList)
{
category += "/" + ((DropDownList)childControl).SelectedItem.Text;
category2 += "/" + ((DropDownList)childControl).SelectedValue;
}
}
if (category.Length > )
category = category.Remove(, );
Response.Write(category); Response.Write("<br />"); if (category2.Length > )
category2 = category2.Remove(, );
Response.Write(category2);
}
}

动态生成DropDownList 并取值的更多相关文章

  1. Jquery操作下拉框(DropDownList)实现取值赋值

    Jquery操作下拉框(DropDownList)想必大家都有所接触吧,下面与大家分享下对DropDownList进行取值赋值的实现代码 1. 获取选中项: 获取选中项的Value值: $('sele ...

  2. Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢)

    Jquery操作下拉框(DropDownList)的取值赋值实现代码(王欢) 1. 获取选中项: 获取选中项的Value值: $('select#sel option:selected').val() ...

  3. cxgrid动态生成footersummary 并获得值

    cxgrid动态生成footersummary 并获得值   var f: TcxGridDBTableSummaryItem; cx_for_mctv.OptionsView.Footer := t ...

  4. 动态生成dropdownlist

    <td colspan=" id="td_ddl" runat="server"> </td> 后台代码: #region 动 ...

  5. ASP.NET页面使用JQuery EasyUI生成Dialog后台取值为空

    原因: JQuery EasyUI生成Dialog后原来的文档结构发生了变化,原本在form里的内容被移动form外面,提交到后台后就没有办法取值了. 解决办法: 在生成Dialog后将它append ...

  6. MVC:html动态追加行及取值

    先一个button   id=addRow 点击事件进行添加 $("#addRow").bind("click", function () { var addH ...

  7. Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码

    随着Jquery的作用越来越大,使用的朋友也越来越多.在Web中,由于CheckBox. Radiobutton . DropDownList等控件使用的频率比较高,就关系到这些控件在Jquery中的 ...

  8. Jquery 中的CheckBox、 RadioButton、 DropDownList的取值赋值

    1.获取选中值,三种方法都可以: $('input:radio:checked').val(): $("input[type='radio']:checked").val(); $ ...

  9. Angular配置路由以及动态路由取值传值跳转

    Angular配置路由 1.找到 app-routing.module.ts 配置路由 引入组件 import { HomeComponent } from './home/home.componen ...

随机推荐

  1. Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键?

    本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信I ...

  2. TFS 2010 迁移/重装/还原 步骤

    1.签入所有代码 2.停止TFS服务:运行命令行,并将路径切换到TFS安装路径:C:\Program Files\Microsoft Team Foundation Server 2010\Tools ...

  3. 11.用C对32位内存地址的访问方式

    使用一个32位处理器,要对一个32位的内存地址进行访问,可以这样定义 #define RAM_ADDR     (*(volatile unsigned long *)0x0000555F)      ...

  4. 答:SQLServer DBA 三十问之五:有关视图索引

    5. 视图上我们能建索引吗,如果能建的话,会啥好处和坏处:视图上建索引和表上建索引有啥区别: ----------------------------------------------------- ...

  5. pycharm 注册码

    43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  6. 用CMake设置Visual Studio工程中预处理器定义值

    构建VS工程时预处理值是不可缺少的,如动态库的导出配置等.在通过CMake构建VS工程时,可以通过CMake命令进行定义,下面讲三种应用. 字符集:默认装填下VS工程是多字节字符集,如果需要使用Uni ...

  7. $(document).ready()方法和window.onload区别

    事件: javascript 和 HTML之间的交互式通过用户和浏览器操作页面时引发的事件来处理的.当文档或者它的某些元素发生某些变化和操作时,浏览器会自动生成一个事件:例如:当用户单击某个按钮时,也 ...

  8. 最新的hosts

    # Copyright (c) 2014-2016, racaljk.# https://github.com/racaljk/hosts# Last updated: 2016-07-03 # Th ...

  9. iOS图片编辑功能实现

    图片加标签:标签可以编辑 https://github.com/shumingli/waterMark 1. 编辑效果;图片可以放到.缩小.旋转 2. 保存相册效果

  10. ubuntu文本模式/终端中文乱码解决

    ubuntu文本模式/终端中文乱码解决 1.Alt+Ctrl+F1 进入第一个终端tty1,发现中文乱码. 2.安装zhcon. sudo apt-get install zhcon3 输入下面命令, ...