一个奇怪的问题啊,为什么ItemDataBound事件里取不到标签A呢

generhappy 2011-12-19 01:39:11
我后台在
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HtmlAnchor xiugai = (HtmlAnchor)e.Item.FindControl("xiugai");
}
}

前台是datalist

<ItemTemplate>
<table cellspacing="0" border="0" style="width:100%;border-collapse:collapse;" class="msgtable">
<tr align="left">
<td width="8%">
<a href="javascript:void(0)" onclick="show('edit',500,420,this,'fd_move2');href1('<%#Eval("unitsystemid")%>');return false;" runat="server" id="xiugai">修改</a>
</td>
</tr>
</tabel>
运行时,为什么修改娶不到这个标签值??
...全文
101 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿非 2011-12-19
  • 打赏
  • 举报
回复
<a runat="server" id="xiugai" href="javascript:void(0)" onclick=<%#"show('edit',500,420,this,'fd_move2');href1('"+(string)Eval("unitsystemid")+"');return false;"%>>修改</a>
ly198706 2011-12-19
  • 打赏
  • 举报
回复
<ItemTemplate> 里面的服务器控件在后台是找不到的。因为加载之后它的ID会变的。
dalmeeme 2011-12-19
  • 打赏
  • 举报
回复
写成这样试试:
onclick="show('edit',500,420,this,'fd_move2');href1('<%#Eval("unitsystemid").ToString()+");return false;"%>')
chen_ya_ping 2011-12-19
  • 打赏
  • 举报
回复
return false;这个完全可以去掉
chen_ya_ping 2011-12-19
  • 打赏
  • 举报
回复
HtmlAnchor=>hyperlink试试
generhappy 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dalmeeme 的回复:]

设断点调试下,看if的条件是否能成立。
[/Quote]
成立,很奇怪很奇怪的问题啊
如果我这样写
<a runat="server" id="xiugai" href="javascript:void(0)" onclick="show('edit',500,420,this,'fd_move2');href1('<%#Eval("unitsystemid")%>');return false;">修改</a>
后台就能正常执行了
但是前台显示成如下了
');return false;">修改
dalmeeme 2011-12-19
  • 打赏
  • 举报
回复
设断点调试下,看if的条件是否能成立。
generhappy 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hdt 的回复:]

嗯 ,没看到
还有可能表头,表尾是取不到的
[/Quote]
我这个是在<ItemTemplate>里啊
generhappy 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fox123871 的回复:]

你这个A是客户单的,你在A里面加个 runat=“server” 就可以访问了~
[/Quote]
我的A标签里面有runat="server"啊
真相重于对错 2011-12-19
  • 打赏
  • 举报
回复
嗯 ,没看到
还有可能表头,表尾是取不到的
fox123871 2011-12-19
  • 打赏
  • 举报
回复
你这个A是客户单的,你在A里面加个 runat=“server” 就可以访问了~
generhappy 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hdt 的回复:]

没有runat="server"
[/Quote]
怎么可能没有。。。后面有。。。
真相重于对错 2011-12-19
  • 打赏
  • 举报
回复
没有runat="server"

62,046

社区成员

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

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

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

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