dropdownlist 二级联动取值

bychgh 2010-10-08 10:37:35

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 第一个dropdownlist ,AutoPostBack="true"
this.ddl_Channel.DataSource = new BLL.NMG_Article_Channel().GetAllList();
this.ddl_Channel.DataTextField = "ch_name";
this.ddl_Channel.DataValueField = "ch_id";
this.ddl_Channel.DataBind();

}

if (!string.IsNullOrEmpty(this.ddl_Channel.SelectedValue))
{
ChannelNo = Convert.ToInt32(this.ddl_Channel.SelectedItem.Value);
bingClass(); //第二个

}
}
public void bingClass()
{
this.ddl_Class.Items.Clear();
if (!string.IsNullOrEmpty(ChannelNo.ToString()))
{
DataTable Dt = new BLL.NMG_Article_Class().GetNewsClass(ChannelNo).Tables[0];
for (int i = 0; i < Dt.Rows.Count; i++)
{
string c_id = Dt.Rows[i]["cl_id"].ToString();
string c_name = Dt.Rows[i]["cl_name"].ToString();
this.ddl_Class.Items.Add(new ListItem(c_name, c_id));
}
}

//这里第一个dropdownlist 如果选第一项,classno都为1,选其他正常
ClassN0 = Convert.ToInt32(this.ddl_Class.SelectedValue.ToString());

}

protected void ddl_Channel_SelectedIndexChanged(object sender, EventArgs e)
{
bingClass();
}



不管是否第一次加载页面,2个dropdownlist 数据都能读出来,但选第一个dropdownlist 的第一个值,第二个dropdownlist 项的value 都是1,选第一个dropdownlist 的其他项,第二个dropdownlist 中项的value 能正常获取,帮忙看看怎么改~~~~~~~~~~
...全文
155 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bychgh 2010-10-09
  • 打赏
  • 举报
回复
多谢~~~~~~~
sangenmutou 2010-10-08
  • 打赏
  • 举报
回复
if (!IsPostBack)绑定的时候不要写在这里面
daone 2010-10-08
  • 打赏
  • 举报
回复
修改
if (this.ddl_Channel.SelectedIndex != -1)
{
//ChannelNo = Convert.ToInt32(this.ddl_Channel.SelectedItem.Value);
bingClass(); //第二个
}

应该是ChannelNo这个中间变量的关系.使用DDL的index就好了 -1 代表没选
酷儿 2010-10-08
  • 打赏
  • 举报
回复
说明白一点
bychgh 2010-10-08
  • 打赏
  • 举报
回复
还是不对~~~~~~~
rwm5366745 2010-10-08
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 第一个dropdownlist ,AutoPostBack="true"
this.ddl_Channel.DataSource = new BLL.NMG_Article_Channel().GetAllList();
this.ddl_Channel.DataTextField = "ch_name";
this.ddl_Channel.DataValueField = "ch_id";
this.ddl_Channel.DataBind();

}

if (!string.IsNullOrEmpty(this.ddl_Channel.SelectedValue))
{
bingClass();
}
}

public void bingClass()
{
this.ddl_Class.Items.Clear();
ClassN0 = Convert.ToInt32(this.ddl_Class.SelectedValue.ToString());
if (!string.IsNullOrEmpty(ChannelNo.ToString()))
{
DataTable Dt = new BLL.NMG_Article_Class().GetNewsClass(ChannelNo).Tables[0];
for (int i = 0; i < Dt.Rows.Count; i++)
{
string c_id = Dt.Rows[i]["cl_id"].ToString();
string c_name = Dt.Rows[i]["cl_name"].ToString();
this.ddl_Class.Items.Add(new ListItem(c_name, c_id));
}
}
}

MSDNXGH 2010-10-08
  • 打赏
  • 举报
回复
明白你的意思,就看得有点迷湖。。。。
wuyq11 2010-10-08
  • 打赏
  • 举报
回复
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlLB" runat="server" Width="15%" AutoPostBack="True" OnSelectedIndexChanged="ddlLB_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="ddlChild" runat="server" Width="20%">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
protected void ddlLB_SelectedIndexChanged(object sender, EventArgs e)
{
if(this.ddlLB.SelectedValue!=null)
{
BindChild(this.ddlLB.SelectedValue);
}
}
SelectedValue变化才能获取值
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

62,272

社区成员

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

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

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

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