ASP.NET (GridView): GridView1.Rows [e.RowIndex] .Cells [1] .Text возвращает исходное значение, а не значение, которое я только что ввел - PullRequest
0 голосов
/ 29 июля 2011

Метод редактирования:

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        {
            GridView1.EditIndex = e.NewEditIndex;
        }

Метод обновления:

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int _selectedRowIndex = e.RowIndex;
        int _ameintyId = (int)GridView1.DataKeys[_selectedRowIndex].Value;
        string updatedAmenity = GridView1.Rows[_selectedRowIndex].Cells[0].Text;
    }

NB: и странная вещь, которую я заметил, когда я нажимаю кнопку edit, она перезагружает страницу, но не редактирует строку, поэтому я нажимаю ее снова, и она работает .. и это происходит каждый раз, это не исключение или что-то!

Редактировать

Прежде всего, я использую BoundField .. Я понял, что когда я добавляю DataKey, он создает для него новое поле, которое является идентификатором и тем, что вызвало проблему! поэтому я просто изменил 0 на 1 .. но теперь я столкнулся с проблемой, что свойство Text ячейки возвращает исходное значение, а не новое значение!

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Первый выпуск: Чтобы получить только что введенное мной значение вместо исходного значения

Метод обновления: используется свойство e.NewValues ​​

    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int _selectedRowIndex = e.RowIndex;
        int _ameintyId = (int)GridView1.DataKeys[_selectedRowIndex].Value;
        string updatedAmenity = e.NewValues[0].ToString();
    }

Второй выпуск: Двойной щелчок, чтобы заставить работать кнопку редактирования

Метод редактирования: я только что назвал свой метод, который связывает мою сетку

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        AmenitiesGridDataBind();
    }

Спасибо, что предложили вашу помощь =)

0 голосов
/ 19 апреля 2017
string updatedAmenity = e.NewValues[0].ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...