我正在从数据库创建listview和绑定数据。
protected void srvButton_Click(object sender, EventArgs e)
{
}
在后面的代码我绑定了这个字段的数据。我正在获取ID,名称列。
现在它显示带有文字的标签和按钮"添加"在按钮上。但是当我点击Add时,我想传递" Id"的值。与该列表视图项相关联,我该怎么做?
.scrollRectToVisible()
答案 0 :(得分:0)
您可以将OnClick
更改为OnCommand
并随身携带CommandArgument
。
<asp:Button CssClass="btn btn-default" ID="srvButton" runat="server"
Text="Add" OnCommand="srvButton_Command" CommandArgument=<%# Eval("ID") %> />
然后在代码背后
protected void srvButton_Command(object sender, CommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandArgument);
}
或者您可以使用ListView的OnItemCommand
事件以及DataKeyNames
属性,并使用没有绑定事件的按钮。
<asp:ListView runat="server" ID="lstService" DataKeyNames="id"
OnItemCommand="lstService_ItemCommand">
<asp:Button CssClass="btn btn-default" ID="srvButton" runat="server" Text="Add" />
然后在代码后面从ListView获取datakey。
protected void lstService_ItemCommand(object sender, ListViewCommandEventArgs e)
{
int id = Convert.ToInt32(lstService.DataKeys[e.Item.DataItemIndex].Values[0]);
}
答案 1 :(得分:0)
首先使用项Id:
的值将CommandArgument添加到Button<asp:Button CssClass="btn btn-default" ID="srvButton" runat="server" Text="Add" OnClick="srvButton_Click" CommandArgument='<%#Eval("Id")' />
现在您可以在srvButton_Click处理程序中访问它:
protected void srvButton_Click(object sender, EventArgs e)
{
Button myButton = (Button)sender;
int i = Convert.ToInt32(myButton.CommandArgument.ToString());
//----
}