在ItemDataBound事件中添加按钮 并使用按钮事件的问题

hypnoz 2009-07-24 09:31:56
    protected void GuestBookDL1_ItemDataBound(object sender, DataListItemEventArgs e)
{

Button ReplyB = (Button)e.Item.FindControl("ReplyB");

if (ReplyB!=null)
{

ReplyB.Click += new EventHandler(ReplyB_Click);
}
}

void ReplyB_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}


为什么点击出错 GuestBookDL1是一个DataList
...全文
297 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hypnoz 2009-07-25
  • 打赏
  • 举报
回复
没人知道么
幻影时空 2009-07-25
  • 打赏
  • 举报
回复
同意 gdjlc 的代码~

都已经回答正确了
木木 2009-07-25
  • 打赏
  • 举报
回复
hypnoz 2009-07-25
  • 打赏
  • 举报
回复
没人知道么
YL_Show 2009-07-25
  • 打赏
  • 举报
回复
学习
hypnoz 2009-07-24
  • 打赏
  • 举报
回复
LS的。。。。别乱写
liyachi 2009-07-24
  • 打赏
  • 举报
回复
protected void GuestBookDL1_ItemDataBound(object sender, DataListItemEventArgs e)
{

if( e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==ListItemType.AlternatingItem )
{
//你的代码
}
}
hypnoz 2009-07-24
  • 打赏
  • 举报
回复
    protected void GuestBookDL1_ItemDataBound(object sender, DataListItemEventArgs e)
{
int ArtId = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "ArtId"));
DataList GuestBookDL2 = (DataList)e.Item.FindControl("GuestBookDL2");
if (GuestBookDL2!=null)
{
GuestBookDL2.DataSource = Article.GetDataTableRepley(ArtId);
GuestBookDL2.ItemCommand += new DataListCommandEventHandler(GuestBookDL2_ItemCommand);
GuestBookDL2.DataBind();
}
TextBox ReplyT = (TextBox)e.Item.FindControl("ReplyT");
Button ReplyB = (Button)e.Item.FindControl("ReplyB");

//if (ReplyB!=null)
//{

// ReplyB.Click += new EventHandler(ReplyB_Click);
//}
}

void GuestBookDL2_ItemCommand(object source, DataListCommandEventArgs e)
{
//throw new NotImplementedException();
if (e.CommandName=="ReplyI")
{
Response.Write("XXX");
}
}
hypnoz 2009-07-24
  • 打赏
  • 举报
回复
CommandName 的原理和我的一样
我试过了 如果是在itembound中调用一样会出错
gdjlc 2009-07-24
  • 打赏
  • 举报
回复
DataList中按钮的事件可以这样用:

html 页面代码:
<asp:DataList ID="DL_Select" runat="server" RepeatColumns="4" ShowFooter="False"
ShowHeader="False" Width="100%" OnItemCommand="DL_Select_ItemCommand">
<ItemTemplate>
<asp:LinkButton ID="lbtnSelect" runat="server" Text='<%#Eval("name")%>' CommandName="SelectSchool"></asp:LinkButton>
</ItemTemplate>
</asp:DataList>


注意设置 DataList 模板中 LinkButton 的CommandName 属性为 "SelectSchool"
CS 文件代码
protected void DL_Select_ItemCommand(object source, DataListCommandEventArgs e)
{
//根据选择不同院系传递不同的值
if (e.CommandName == "SelectSchool")
{
//code
}
}

62,050

社区成员

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

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

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

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