首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在页面加载时查找datalist中的控件

在页面加载时查找datalist中的控件
EN

Stack Overflow用户
提问于 2012-10-07 08:14:59
回答 2查看 4.5K关注 0票数 0

我想在datalist on page load方法中查找一项,这是我的代码

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    //some code here

    for (int i = 0; i < count  ; i++)
    {
        LinkButton LinkButton6 = (LinkButton)sender;
        DataListItem item = (DataListItem)LinkButton6.NamingContainer;
        LinkButton lnkbtn6 = (LinkButton)DataList1.Items[item.ItemIndex].FindControl("LinkButton6");  
     }  
 }

但是这个错误出现在我面前:无法将'ASP.default2_aspx‘类型的对象强制转换为'System.Web.UI.WebControls.LinkButton’类型。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-07 08:45:10

Page_Load不是由LinkButton触发的事件,因此发件人不能是LinkButton。这是一个页面事件。请改用OnItemDataBound

标记

代码语言:javascript
复制
<asp:DataList OnItemDataBound="DataList1_OnItemDataBound" runat="server" ID="MdataList">
<ItemTemplate>
    <asp:LinkButton runat="server" ID="LinkButton6" Text="Text"></asp:LinkButton>
</ItemTemplate>
</asp:DataList>

代码背后

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{

}

protected void DataList1_OnItemDataBound(object sender, DataListItemEventArgs e)
{
    LinkButton lnkBtn6 = (LinkButton)e.Item.FindControl("LinkButton6");
    lnkBtn6.Text = "Some Text Here";
}
票数 1
EN

Stack Overflow用户

发布于 2012-10-07 08:22:33

在这一行上:

代码语言:javascript
复制
LinkButton LinkButton6 = (LinkButton)sender;

sender对象是Page,而不是LinkButton,不是吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12765015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档