从转发器中获取来自自定义类中的对象的值

时间:2014-12-05 13:03:44

标签: asp.net

我一直坚持如何从转发器中的特定行获取值。

我用这样的coustom类(C#)填充转发器:

    rptVisaBarn.DataSource = client.SkickaForalderBarn();
    rptVisaBarn.DataBind();

(ASP.NET)

<asp:Label ID="lblFornamn" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "NamnBarn").ToString() %>'></asp:Label>
                    <asp:Label ID="lvlPersonNr" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "PersonNrBarn").ToString() %>'></asp:Label>

我想要的是当我点击在每一行上创建的按钮时,我想从该行上的该对象中收集值并将它们发送到我在webbserivce中的方法。

我尝试过一些东西,但是他们不工作,我不知道我应该从哪里开始......

正确方向的一点帮助真的很棒!

我需要更多信息才能问,因为我真的需要帮助...

1 个答案:

答案 0 :(得分:0)

您希望该点击是客户端还是服务器端?这里有一个不错的写作:http://www.developer.com/net/asp/article.php/3609466/ASPNET-Tip-Responding-to-the-Repeater-Controls-ItemCommand-Event.htm

亮点:

注册(某处)您的转发器项目命令事件。 e.g:

override protected void OnInit(EventArgs e)
{
   base.OnInit(e);
   rptData.ItemCommand += new RepeaterCommandEventHandler(rptData_ItemCommand);
}

在转发器中创建一个按钮:

<asp:LinkButton ID="btnEdit" Runat="server" CssClass="tabletext" CommandName="edit" 
        CommandArgument='<%# Eval("pkRecordID") %>'>Edit</asp:LinkButton>

处理事件:

private void rptData_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    //e.Item contains your data item.
    //e.CommandName contains 'edit' in the case, or whatever is in your button's CommandName
    //e.CommandArgument contains a record ID in this case, or whatever is in your button's CommandArgument
}