选择行下一个点击
问题描述:
有人可以告诉我如何选择行下我单击按钮?选择行下一个点击
<asp:Button ID="btnmoveup" runat="server" Text="/\" OnCommand="MoveButton_Clicked"
CommandName="UP" CommandArgument='<%# Eval("ProjectID") + ";"+Eval("Priority")%>'/>
</td>
<td>
<asp:Button ID="btnmovedown" runat="server" Text="\/" OnCommand="MoveButton_Clicked"
CommandName="DOWN" CommandArgument='<%# Eval("ProjectID") + ";"+Eval("Priority")%>' />
的背后代码:
protected void MoveButton_Clicked(object sender, CommandEventArgs e)
{
string[] arguments = e.CommandArgument.ToString().Split(new char[] {';'});
string pid1;
int prior;
pid1 = arguments[0];
prior = int.Parse(arguments[1]);
这让我在我点击按钮行的优先级和专案。
我该如何获得下面这行的优先级和项目? 行在中继器控制中。
答
将您的CommandArgument
更改为<%# Container.ItemIndex %>
。
然后在你的Clicked
事件,你可以这样做:
int clickedIndex = int.Parse(e.CommandArgument);
int selectIndex = clickedIndex + 1; // or -1 depending on the button clicked.
var dataItem = (YourDataType)(yourRepeater.Items[selectIndex].DataItem);
var priority = dataItem.Priority;
var projectID = dataItem.ProjectID;
另外,您可以优先和项目ID绑定到中继器隐藏字段,并使用yourRepeater.Items[selectIndex].FindControl('yourHiddenFieldId').Text
或相似。
什么样的行?客户端表行?服务器端表格行? Gridview的行? – GrayFox374