Я хочу иметь возможность выбрать одну или несколько строк в моем виде сетки, чтобы иметь возможность сохранять данные многих строк в объекте, а затем выполнять все, что мне нужно, со списком объектов.
В ASPкод, у меня есть стандартный вид сетки и TemplateField с ItemTemplate, который я поместил мою кнопку. Имя команды Switch
(это будет актуально в C #). Ниже приведен мой код templateField (и я попробовал AutoPostBack="False"
, который не работает в этом случае)
<asp:TemplateField>
<ItemTemplate>
<asp:Button CssClass="buttonStuff" Text="Switch" runat="server" CommandName="Switch" CommandArgument="<%# Container.DataItemIndex %>" AutoPostBack="False" />
</ItemTemplate>
</asp:TemplateField>
Теперь, когда кнопка Switch
нажата в любой строке, мы получаем правильный индекс строкии получить наши значения в C #, код ниже:
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Switch")
{
//Determine the RowIndex of the Row whose Button was clicked.
int rowIndex = Convert.ToInt32(e.CommandArgument);
//Reference the GridView Row.
GridViewRow row = GridView2.Rows[rowIndex];
//Perform what needs to do done
}
}
Теперь, я взял правильные значения и могу сделать то, что мне нужно сделать для этого нажатия одной кнопки, но проблема в том, что я не могу простовыберите несколько строк, но только одну, поскольку страница продолжает срабатывать, когда я нажимаю кнопку один раз.
В идеале, я бы хотел отключить эту автоматическую публикацию назад и добавить ее вручную в этом случае.
Любые предложения будут высоко оценены, спасибо