我在前台放了一个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);
}
}
在后台用这段代码来实现,但是得不到结果,页面首次加载时,显示空,里面什么也没有,
注意:/不是存储在数据库中。
后台代码: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);
}
}
解决方案 »
- 新闻跳转问题
- 我的表单提交按钮用的是一个图片,如何实现submit的功能?
- 数据绑定问题
- findcontrol使用求救
- string strSql = "SELECT SYSDATE \"Today DateTime\" FROM DUAL";
- 紧急求助:一个页面刷新的问题
- 我把登录做成单独的用户自定义控件(.ascx)我要登录成功后在那里显示用户的一些信息如何做呢?
- 项目为何发布不了?
- 怎么在网站中加入Google地图
- 救命啊!如何使用Web TreeView 的onexpand事件?等着急用!在线等待中……
- 服务器无法获得URL参数?
- girdview怎么实现点模板列中行通过没有绑定在girdview中的段传URL?
//试试
protected void Page_Load(object sender,EventArgs e)
{
if(!IsPostback)
{
//生成下拉列表框的代码
}
}
要放在dropdownlist的Init事件里
否则就要在Page_load里调用
这样麻烦 还要判断!IsPostBack
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;
}
void Page_Load(Object sender, EventArgs e) {
if (!IsPostBack) {
RadioButtonList1.DataSource = CreateDataSource();
RadioButtonList1.DataTextField="StringValue"; //你少了这句和下句了
RadioButtonList1.DataValueField="CurrencyValue";
RadioButtonList1.DataBind();
}
}
导致下面的代码没有执行。