嵌套的子DataList控件中的按钮单击事件问题!!!!!!!!!!!(急!!!!在线等待!!!!解决马上给分)

seaofsoul 2004-12-23 10:23:25
DataList1中的嵌套一个DataList2.通过DataList1的ItemDataBound事件中查找DataList2控件,给DataList2设置数据源,绑定数据.
在DataList2中的ItemDataBound事件中手动的绑定.现在有个问题是,我在DataList2中有个按钮.CommandName="Add",
private void DataList2_ItemCommand(object source, DataListCommandEventArgs e) 就是不能执行,为什么?


private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
DataRow dr=ds.Tables["Types"].Rows[e.Item.ItemIndex];

DataList DataList2 = (DataList)e.Item.FindControl("DataList2");
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@TypeId",SqlDbType.Int)
};
paras[0].Value=dr["RecId"];
ds=conn.ExecuteProc("Products_SelectForTypeId",paras,"Products");
DataList2.DataSource=ds.Tables["Products"].DefaultView;

//绑定事件可以正常.
DataList2.ItemDataBound+=new DataListItemEventHandler(DataList2_ItemDataBound);
//DataList2.ItemCommand事件不能执行,为什么?如何解决?
DataList2.ItemCommand+=new DataListCommandEventHandler(DataList2_ItemCommand);
DataList2.DataBind();
ds.Tables.Remove("Products");
}
}


private void DataList2_ItemDataBound(object sender, DataListItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
{
DataRow dr=ds.Tables["Products"].Rows[e.Item.ItemIndex];
Literal lbSmallImage=(Literal)e.Item.FindControl("lbSmallImage");
lbSmallImage.Text="<a href='ProductShow.aspx?RecId="+dr["RecId"].ToString()+"'><img src='../images/Products/"
+dr["BigImage_Save"].ToString()+"' border=0 height=75 width=75></a><br>";

Literal lbName=(Literal)e.Item.FindControl("lbName");
lbName.Text=dr["Name"].ToString();

Literal lbSCPrice=(Literal)e.Item.FindControl("lbSCPrice");
lbSCPrice.Text=dr["SCPrice"].ToString();

Literal lbSDPrice=(Literal)e.Item.FindControl("lbSDPrice");
lbSDPrice.Text=dr["SDPrice"].ToString();

Literal lbCJPrice=(Literal)e.Item.FindControl("lbCJPrice");
lbCJPrice.Text=dr["CJPrice"].ToString();

HyperLink hlXQ=(HyperLink)e.Item.FindControl("hlXQ");
hlXQ.NavigateUrl="ProductShow.aspx?RecId="+dr["RecId"].ToString();

HyperLink hlLB=(HyperLink)e.Item.FindControl("hlLB");
hlLB.NavigateUrl="ProductsListShow.aspx?TypeId="+dr["TypeId"].ToString();
}
}

private void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
Response.Write("aaaaaaaaaaaaaaaaaaaaa");
}
...全文
372 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
nga96 2005-02-04
  • 打赏
  • 举报
回复
太难太难
AllenTing 2005-02-04
  • 打赏
  • 举报
回复
ZG
zhangql873568 2005-02-04
  • 打赏
  • 举报
回复
up
噯卟釋手 2005-02-04
  • 打赏
  • 举报
回复
请参考
http://community.csdn.net/Expert/topic/3600/3600123.xml?temp=.9944727

里面思归老大的回答 请注意object的使用 也许能给你点启发
a7lang 2005-01-05
  • 打赏
  • 举报
回复
请参考http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcon/html/vbtskrespondingtobuttoneventsindatalistitems.asp
seaofsoul 2005-01-05
  • 打赏
  • 举报
回复
我晕死哦.各位大哥们,请看看我的程序....

嵌套的DataList2的DataList2_ItemDataBound事情里面的代码可以运行,也就是说DataList2里要绑定的数据可以绑定,但就是DataList2里的一个模版列中包含的一个按钮的单击事件不知道怎么获取,然后执行代码。。。。。。
请帮忙哦。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
tengjian1981 2004-12-31
  • 打赏
  • 举报
回复
up
xjs1231 2004-12-31
  • 打赏
  • 举报
回复
我也正遇到这个问题,关注中
softchao 2004-12-31
  • 打赏
  • 举报
回复
三层就找不到控件了么???
seaofsoul 2004-12-30
  • 打赏
  • 举报
回复
各位老大们,都没有人来帮小弟一把吗?
zooo 2004-12-30
  • 打赏
  • 举报
回复
呵呵
看来都不会
等能人来吧!
postfix2 2004-12-30
  • 打赏
  • 举报
回复
private void TitleList_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataTable dt = da.Clone ();
DataRow[] arrdr = da.Select ("b_class='" + ((Literal)e.Item.FindControl ("title")).Text + "'");
for (int i=0;i<arrdr.Length;i++)
{
dt.ImportRow (arrdr[i]);
}

Control c = e.Item.FindControl ("InfoList");
if (c != null)
{
((Repeater)c).DataSource = dt;
((Repeater)c).DataBind ();
}
}
}
tengjian1981 2004-12-30
  • 打赏
  • 举报
回复
up
nickycheng 2004-12-30
  • 打赏
  • 举报
回复
你在aspx文件里写一个事件绑定

<asp:DataList id="DataList2" runat="server" OnItemDataBound="DataList2_ItemDataBound"></asp:DataList>

.cs文件里就直接
private void DataList2_ItemDataBound(object sender, DataListItemEventArgs e)
{
}
leihome 2004-12-30
  • 打赏
  • 举报
回复
帮你顶
xxwnet 2004-12-30
  • 打赏
  • 举报
回复
UP
rickjelly2004 2004-12-27
  • 打赏
  • 举报
回复
给它加一个事件委托吧
AddHandler CType(dgListArticle.Items(i).Cells(5).FindControl("DropDownList1"), DropDownList).SelectedIndexChanged, AddressOf Selectchange
seaofsoul 2004-12-25
  • 打赏
  • 举报
回复
都没有高手解决吗?
请帮忙呀..................
tengjian1981 2004-12-24
  • 打赏
  • 举报
回复
up
zhangql873568 2004-12-24
  • 打赏
  • 举报
回复
这个问题也是我想问的。帮顶

我是在Datalist中嵌套了一个Datagrid,Datagrid中有个LinkButton按钮,想给按钮写响应代码。
我在html中给这个LinkButton添加了onclick事件“OnClick=click”。cs文件中定义的click函数如下:
public void click(object sender, System.EventArgs e)
{
if(((Label)((DataGrid)DataList1.SelectedItem.FindControl("Datagrid1")).SelectedItem.FindControl("Label2")).Text=="{new}")
{
SqlCommand scm=new SqlCommand();
scm.Connection=new SqlConnection(connstr);
scm.CommandText="update oa_file_dom set file_tag=null where file_id="+((Label)((DataGrid)DataList1.SelectedItem.FindControl("Datagrid1")).SelectedItem.FindControl("Label1")).Text+"'";
scm.Connection.Open();
scm.ExecuteNonQuery();
scm.Connection.Close();
}
SqlDataAdapter mysda=new SqlDataAdapter(strSQL,connstr);
DataSet ds=new DataSet();
mysda.Fill(ds,"Datagrid");
((DataGrid)DataList1.SelectedItem.FindControl("Datagrid1")).DataSource=ds.Tables["Datagrid"].DefaultView;
((DataGrid)DataList1.SelectedItem.FindControl("Datagrid1")).DataBind();
}


结果总是说没有将对象设置引用到对象实例。我挑试了一下,是DataList1.SelectedItem的问题,也就是不能用这个办法访问DataList1中的控件了。而onclick事件的函数只能传递object sender, System.EventArgs e两个参数。我该怎么办,各位!
加载更多回复(4)
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提取468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果析 第6章 总结与展望 参考文献
内容概要:本文提出了一种基于蒙特卡洛模拟与拉格朗日松弛法的散式优化策略,用于解决电动汽车充电站在时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多样化负荷场景,构建以降低电网负荷波动和用户充电成本为目标的优化模型;采用拉格朗日松弛法对耦合约束进行解耦,实现布式求解,在保障用户隐私的同时提升计算效率。文设计了详细的仿真场景,系统析了该调度策略对电网负荷特性和用户经济性的影响,验证了所提方法在实际应用的有效性与可行性。; 适合人群:具备电力系统运行、优化算法理论及Matlab编程能力的研究生、科研人员以及从事智能电网与电动汽车相关领域的工程技术人员。; 使用场景及目标:①应用于城市规模化充电站集群的有序充电管理,实现电网“削峰填谷”;②为电力公司制定科学合理的时电价政策提供量化析工具;③支撑智能电网需求侧资源的布式协同优化调度研究与系统设计。; 阅读建议:建议结合提供的Matlab代码深入理解算法实现流程,重点掌握蒙特卡洛场景生成机制与拉格朗日松弛迭代求解过程,可通过调整参数设置复现不同工况下的仿真结果,以深化对散式优化机制与调度效果之间关系的理解。
内容概要:本文研究了基于阶跃响应的V-Tiger自动增益调整PID控制器优化方法,并提供了完整的Matlab代码实现。通过深入析PID控制的核心性能指标与V-Tiger控制器的动态特性,提出了一种融合阶跃响应特征提取与多目标协同优化的自动整定方案,设计了具备自适应迭代校正能力的优化机制,有效提升了控制系统的响应速度、稳定性和抗干扰能力。文系统阐述了整定原理、算法架构设计及性能验证流程,通过仿真实验充验证了该方法在复杂工业控制场景下实现高精度参数自整定的可行性与优越性,为智能PID控制提供了可复现、可拓展的技术路径。; 适合人群:具备自动控制理论基础和Matlab编程能力,从事控制工程、自动化、电气工程等领域研究的研发人员及高校研究生。; 使用场景及目标:①应用于需要高精度PID参数整定的工业控制系统,如电机驱动、温度控制、电力电变换器等;②为科研人员提供一种可复现、可扩展的智能PID整定方法,用于提升系统动态性能与鲁棒性;③作为教学案例帮助学生理解PID整定原理与现代优化算法的融合应用。; 阅读建议:建议读者结合文的Matlab代码逐模块运行与调试,重点关注阶跃响应特征提取与增益优化策略的实现逻辑,同时可尝试将其应用于实际控制系统进行对比验证,以深化对自动整定机制的理解。

62,272

社区成员

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

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

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

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