C # ASP .Net, запускающий кнопки управления внутри Gridview - PullRequest
1 голос
/ 06 июня 2011

У меня есть вопрос о кнопке внутри gridview.Как видно из названия, я создал сетку с кнопкой внутри.Всякий раз, когда я запускаю кнопку, она всегда связывает вид сетки до того, как он достигнет события кнопки.

Скажем, страница onLoad, я извлекаю данные и связываю их с видом сетки, затем я хочу сделать массуобновление, которое будет вызвано кнопкой внутри него.Если я поставлю !IsPostBack, он никогда не вызовет событие кнопки, что означает, что он всегда должен прочитать данные, связать их снова в gridview, а затем выполнить событие кнопки.

Проблема в , яиметь огромные данные, и из-за этого требуется много времени для обновления.Мне интересно, есть ли какие-нибудь способы вызвать кнопку событие без повторного связывания просмотра сетки снова?Это из-за кнопки внутри вида сетки, поэтому необходимо выполнить повторную привязку, прежде чем она сможет прочитать событие кнопки?

Любое предложение будет действительно оценено.

Ответы [ 3 ]

1 голос
/ 06 июня 2011

Не следует использовать событие кнопки, а вместо этого событие GridView.RowCommand.Смотрите здесь .Если вы делаете это в сочетании с проверкой if (!IsPostBack) в Page_Load, это должно работать для вашего сценария.

1 голос
/ 06 июня 2011

ваша кнопка должна быть вызвана событием OnRowCommand, а ! IsPostBack не должна препятствовать срабатыванию вашей кнопки

protected void GridView_RowCommand(object source, GridViewCommandEventArgs e)
{
    if(e.CommandName=="Update")
    {
    // put your update code here
    }
}

и вы можете использовать ajax для обновления своего источника данных без повторного связывания GridView и обновления пользовательского интерфейса с использованием javascript.

1 голос
/ 06 июня 2011

Почему бы вам не использовать RowCommand вместо события onclick?Вы можете добавить свойство имени команды к кнопке, чтобы понять, какую операцию вам нужно сделать

Посмотрите на ссылку ниже и просто замените ButtonField на классическую кнопку.не забудьте назначить CommandName

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewcommandeventargs.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...