2010-10-25 4 views
0

Мне нужно, чтобы текст текстового поля (который находится внутри строки gridview) был привязан к определенной строке во время выполнения. Раньше я использовал FindControl, но не могу понять синтаксис, чтобы фактически устанавливать значение текстового поля, а не просто получать. Вот что у меня есть, который не компилируется:Текст текста _Setting_ textbox с помощью FindControl

((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath")); 

Я был бы признателен за любую помощь

Благодаря

ответ

2

Будет ли это работать?

(e.Row.FindControl("txtPath") as TextBox).Text = dataMap.GetString("targetPath"); 

EDIT: На самом деле мне нравится это лучше, чем мой первоначально пост:

TextBox txtPath = (TextBox)e.Row.FindControl("txtPath"); 

if(txtPath != null) 
    txtPath.Text = dataMap.GetString("targetPath"); 
0

Причина, по которой не компилируется, потому что это выглядит, как у вас есть дополнительная закрывающая скобка на конце функции GetString().

Попробуйте это:

((TextBox)e.Row.FindControl("txtPath")).Text = dataMap.GetString("targetPath"); 

Это лучшая практика, чтобы проверить, что TextBox не равно нулю, но не является обязательным.