我一直坚持如何从转发器中的特定行获取值。
我用这样的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中的方法。
我尝试过一些东西,但是他们不工作,我不知道我应该从哪里开始......
正确方向的一点帮助真的很棒!
我需要更多信息才能问,因为我真的需要帮助...
答案 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
}