我想在datalist on page load方法中查找一项,这是我的代码
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’类型。
发布于 2012-10-07 08:45:10
Page_Load不是由LinkButton触发的事件,因此发件人不能是LinkButton。这是一个页面事件。请改用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-07 08:22:33
在这一行上:
LinkButton LinkButton6 = (LinkButton)sender;sender对象是Page,而不是LinkButton,不是吗?
https://stackoverflow.com/questions/12765015
复制相似问题