Текстовое поле ASP.NET GridView RowCommand пустоC#

Место общения программистов C#
Ответить
Anonymous
 Текстовое поле ASP.NET GridView RowCommand пусто

Сообщение Anonymous »

Привет, у меня есть представление сетки с текстовым полем в каждой строке, значение которого я пытаюсь получить в событии RowCommand. Приведенный ниже код отлично работает для всех строк, кроме первой. Значение textbox.text для первой строки всегда пустое.

Код: Выделить всё




Title 



Add Post





Код:

Код: Выделить всё

protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack)
bindGridView();
}

protected void GridView1_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "AddPost")
{
GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);

TextBox textBox = (TextBox)row.FindControl("TextBoxAddPost");

//Empty for first row but works for all others

Debug.WriteLine("row: " + row.RowIndex +  ", textBox:" + textBox.Text.Trim());

GridView1.DataBind();
}
}
Приведенный выше код был упрощен для иллюстрации. Каждая строка фактически содержит дочернюю сетку, поэтому зачем нужно текстовое поле в каждой строке. Я боюсь, что привязка в page_load перезаписывает значение текстового поля, однако без привязки page_load событие rowCommand не запускается.

Мне немного странно, что он отлично работает для всех строк, кроме первой.

Подробнее здесь: https://stackoverflow.com/questions/731 ... tbox-empty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»