0

ページ読み込みメソッドのデータリストでアイテムを見つけたいこれは私のコードです

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.LinkBut​​ton」にキャストできません。

4

2 に答える 2

1

Page_LoadLinkBut​​tonによってトリガーされるイベントではないため、送信者をLinkBut​​tonにすることはできません。ページイベントです。OnItemDataBound代わりに使用してください

マークアップ

<asp:DataList OnItemDataBound="DataList1_OnItemDataBound" runat="server" ID="MdataList">
<ItemTemplate>
    <asp:LinkButton runat="server" ID="LinkButton6" Text="Text"></asp:LinkButton>
</ItemTemplate>
</asp:DataList>

コードビハインド

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";
}
于 2012-10-07T00:45:10.333 に答える
0

この行で:

LinkButton LinkButton6 = (LinkButton)sender;

senderオブジェクトは、ではPageなくLinkButtonですよね?

于 2012-10-07T00:22:33.087 に答える