C # Gridview отключить onRowCommand обратной передачи - PullRequest
1 голос
/ 25 октября 2019

Я хочу иметь возможность выбрать одну или несколько строк в моем виде сетки, чтобы иметь возможность сохранять данные многих строк в объекте, а затем выполнять все, что мне нужно, со списком объектов.

В 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
        }
    }

Теперь, я взял правильные значения и могу сделать то, что мне нужно сделать для этого нажатия одной кнопки, но проблема в том, что я не могу простовыберите несколько строк, но только одну, поскольку страница продолжает срабатывать, когда я нажимаю кнопку один раз.

В идеале, я бы хотел отключить эту автоматическую публикацию назад и добавить ее вручную в этом случае.

Любые предложения будут высоко оценены, спасибо

1 Ответ

0 голосов
/ 25 октября 2019

Я нашел хорошее решение своей проблемы, используя вместо этого флажки, ссылка ниже - вот что я использовал.

https://www.c -sharpcorner.com / UploadFile / 009464 / use-checkbox-inside-gridview-в-Asp-Net /

...