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

关于DropDownList的初始化

2012-03-20 
求助 关于DropDownList的初始化我在前台放了一个DropDownList控件,想要页面首次加载时,显示/,用于根目录在

求助 关于DropDownList的初始化
我在前台放了一个DropDownList控件,想要页面首次加载时,显示/,用于根目录
在后台用这段代码来实现,但是得不到结果,页面首次加载时,显示空,里面什么也没有,
注意:/不是存储在数据库中。
后台代码:

C# code
public void ShowDirectory(DropDownList dirList, int nParentID)    {        DataTable dataTable = SystemTools.ConvertDataReaderToDataTable(GetDirectorys());        dirList.Items.Clear();        DataRow[] rowList = dataTable.Select("ParentID='-1'");        if (rowList.Length <= 0) return;        //创建、添加新节点        dirList.Items.Add(new ListItem("/", rowList[0]["DirID"].ToString()));        //创建其他节点        CreateChildNode(dirList, dataTable, Int32.Parse(rowList[0]["DirID"].ToString()), "/");    }    public void CreateChildNode(DropDownList dirList, DataTable dataTable, int nParentID, string sParentName)    {        DataRow[] rowList = dataTable.Select("ParentID='" + nParentID.ToString() + "'", "CreateDate DESC");        foreach (DataRow row in rowList)        {            string sName = sParentName + row["Name"].ToString() + "/";            //创建新节点            dirList.Items.Add(new ListItem(sName, row["DirID"].ToString()));            //递归调用,创建其他节点            CreateChildNode(dirList, dataTable, Int32.Parse(row["DirID"].ToString()), sName);        }    }


[解决办法]
C# code
//试试protected void Page_Load(object sender,EventArgs e){  if(!IsPostback)  {    //生成下拉列表框的代码  }}
[解决办法]
不管储存在哪里
要放在dropdownlist的Init事件里
否则就要在Page_load里调用
这样麻烦 还要判断!IsPostBack
[解决办法]
里面有一个属性,是autopostback,请设置true
[解决办法]
你这两个函数是怎么调用的?单步调试看看是否有数据
[解决办法]
指定下数据源的DataTextField和DataValueField再帮顶
如果这样不行的话就要看你是不是有数据了
[解决办法]
如果没有效果,第一检查是否执行了代码。

如果执行了,就进入调试状态,看看是否执行if (rowList.Length <= 0) return;
导致下面的代码没有执行。
[解决办法]
为什么要用后台代码呢?直接写在属性里面不行么?
[解决办法]
设置断点单步调试。

热点排行