求助 关于DropDownList的初始化

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

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);
}
}
...全文
274 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
netddayup 2008-10-07
  • 打赏
  • 举报
回复
设置断点单步调试。
huxiaoiqing0007 2008-10-07
  • 打赏
  • 举报
回复
为什么要用后台代码呢?直接写在属性里面不行么?
winner2050 2008-10-07
  • 打赏
  • 举报
回复
如果没有效果,第一检查是否执行了代码。

如果执行了,就进入调试状态,看看是否执行if (rowList.Length <= 0) return;
导致下面的代码没有执行。
Eagle_ice 2008-10-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 amandag 的回复:]
F5调试有数据么
[/Quote]
没有,不懂了...
Eagle_ice 2008-10-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sunshine_anycall 的回复:]
例子

C# codevoid Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
RadioButtonList1.DataSource = CreateDataSource();
RadioButtonList1.DataTextField="StringValue"; //你少了这句和下句了
RadioButtonList1.DataValueField="CurrencyValue";
RadioButtonList1.DataBind();
}
}
[/Quote]
老兄 我的是DropDownList控件...
amandag 2008-10-07
  • 打赏
  • 举报
回复
F5调试有数据么
sunshine_anycall 2008-10-07
  • 打赏
  • 举报
回复
指定下数据源的DataTextField和DataValueField再帮顶
如果这样不行的话就要看你是不是有数据了
sunshine_anycall 2008-10-07
  • 打赏
  • 举报
回复
例子
void Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
RadioButtonList1.DataSource = CreateDataSource();
RadioButtonList1.DataTextField="StringValue"; //你少了这句和下句了
RadioButtonList1.DataValueField="CurrencyValue";
RadioButtonList1.DataBind();
}
}



Eagle_ice 2008-10-07
  • 打赏
  • 举报
回复
页面初始化代码:

private int nDirID = -1;
private int nParentID = -1;
protected void Page_Load(object sender, EventArgs e)
{
///获取参数DirID的值
if (Request.Params["DirID"] != null)
{
if (Int32.TryParse(Request.Params["DirID"].ToString(), out nDirID) == false)
{
return;
}
}
if (Request.Params["ParentID"] != null)
{
if (Int32.TryParse(Request.Params["ParentID"].ToString(), out nParentID) == false)
{
return;
}
}
if (!IsPostBack)
{ ///显示目录列表的信息
BindDirectoryData();
if (nDirID > -1) ///存在DirID > -1的情况
{
BindDirectoryData(nDirID);
SystemTools.SetListBoxItem(DirList, nDirID.ToString());
return;
}
if (nDirID <= -1 && nParentID > -1) ///存在DirID > -1的情况
{
BindDirectoryData(nParentID);
SystemTools.SetListBoxItem(DirList, nParentID.ToString());
return;
}
if (DirList.Items.Count > 0)
{
BindDirectoryData(Int32.Parse(DirList.SelectedValue));
}
}
}
private void BindDirectoryData()
{
Disk disk = new Disk();
disk.ShowDirectory(DirList,-1);
if (DirList.Items.Count > 0)
{
DirList.SelectedIndex = 0;
}
disk.ShowDirectory(MoveDirList,-1);
}
private void BindDirectoryData(int nParentID)
{
IDisk disk = new Disk();
SqlDataReader dr = disk.GetDirectoryFile(nParentID);
DiskView.DataSource = dr;
DiskView.DataBind();
dr.Close();
ReturnBtn.Visible = nParentID > 0 ? true : false;
}
amandag 2008-10-07
  • 打赏
  • 举报
回复
你这两个函数是怎么调用的?单步调试看看是否有数据
Eagle_ice 2008-10-07
  • 打赏
  • 举报
回复
我就是按照以上的方法做的 但是不行...
chenxh_97 2008-10-07
  • 打赏
  • 举报
回复
里面有一个属性,是autopostback,请设置true
evatbo2001 2008-10-07
  • 打赏
  • 举报
回复
不管储存在哪里
要放在dropdownlist的Init事件里
否则就要在Page_load里调用
这样麻烦 还要判断!IsPostBack
changjiangzhibin 2008-10-07
  • 打赏
  • 举报
回复

//试试
protected void Page_Load(object sender,EventArgs e)
{
if(!IsPostback)
{
//生成下拉列表框的代码
}
}
Eagle_ice 2008-10-07
  • 打赏
  • 举报
回复
来人帮帮我啊...

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧