Repeater模板里面放runat="server"的控件怎么不行
我这样:
<FooterTemplate>
<asp:HyperLink id="mylink" runat="server">首页</asp:HyperLink>
</FooterTemplate>
CS里面 protected System.Web.UI.WebControls.HyperLink mylink;
在Page_Load里mylink.NavigateUrl = "http://127.0.0.1";
运行时出错,而我放到FooterTemplate的外面就没有错误,怎么办?
问题点数:20、回复次数:9Top
1 楼jxufewbt(我的目标是5星)回复于 2005-11-08 21:03:30 得分 2
这样肯定不行
应该用反射Top
2 楼AppleII(AppleII)回复于 2005-11-08 21:12:22 得分 0
能举个例子吗?Top
3 楼poboy(笑笑生)回复于 2005-11-08 21:13:19 得分 2
footertemplate 是重复项
这样就会有很多的
<asp:HyperLink id="mylink" runat="server">首页</asp:HyperLink>
一个服务器控件 只能有一个名字的Top
4 楼AppleII(AppleII)回复于 2005-11-08 21:19:09 得分 0
大家在template里都不放这些东西?
能否提供一个用反射来解决的代码。Top
5 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-11-08 22:11:20 得分 5
页面上哪有mylink控件?是哪本书上写的template中的控件属于页面范畴的,你把它烧了。
在 ItemDataBound 事件中:
HyperLink mylink=e.item.FindControl("mylink");
mylink只是每一行中的一个子控件。Top
6 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2005-11-08 22:14:31 得分 3
绑定控件的每一行,都会有一个ID="mylink"的HyperLink控件。你到页面范畴中去当然搜不到mulink,只能在行中搜索mylink这个ID就能找到它了。Top
7 楼studydotnet(Dreamfly)回复于 2005-11-08 22:15:39 得分 3
用DataGrid 做成链接
Top
8 楼jxufewbt(我的目标是5星)回复于 2005-11-08 22:19:16 得分 2
sp1234(好好的美少女干嘛刺青?) 正解
以下就是用了反射:
HyperLink mylink=e.Item.FindControl("mylink");Top
9 楼bh812(与时)回复于 2005-11-09 00:09:49 得分 3
在FooterTemplate中放一个hyperLink都不行吗? 我去试试Top




