GridView v。中继器问题

时间:2013-10-15 17:38:34

标签: c# visual-studio repeater

我有一个GridView,其中包含来自数据源的绑定行,我在每行的末尾放置了一个链接按钮。当我单击该链接按钮时,我会在网格中找到命名控件并获取它们的值。我决定尝试在Repeater和相同的数据源中使用具有相同命名控件的Repeater控件,但是我无法执行相同的单击事件并使用RepeaterItemEventArgs,方法签名中只有EventArgs可用。如果没有RepeaterItem,我找不到控件。

此代码编译但当我单击该行时出现此错误:CS0123:'BtnAssign'没有重载匹配委托'System.EventHandler'所以我发现我需要的是将第二个参数更改为EventArgs。这可以在运行时修复错误,我可以进入此方法,但必须更改方法才能进行编译。我无法访问e.Item。想法?

protected void BtnAssign(object sender,  RepeaterItemEventArgs e)
    {
        var miscItem = new SLWorkOrderItem();
        string theAmountLabelText = "";

        // Repeater Code
        if (e.Item.ItemType == ListItemType.Item)
        {
            var theAmountLabel = e.Item.FindControl("lblAmount") as Label;

        }
    }

1 个答案:

答案 0 :(得分:0)

我猜你试图在ItemCommand事件上执行这个?

在这种情况下:你会使用RepeaterCommandEventArgs而不是RepeaterItemEventArgs。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeateritemeventargs.aspx

在ItemCreated中使用RepeaterItemEventArgs。

            OnItemCommand="BtnAssign"

            protected void BtnAssign(object source, RepeaterCommandEventArgs e)
                {

                }