2010-03-24 7 views
1

У меня есть datalist, и внутри него много строк, и в одном из этих строк у меня есть сетка. я могу сказать, что это как следующего
Как получить текущие выбранные данные в datalist из gridview внутри него?

<DataList> 
    <tr> 
     <td> [textbox1 control] </td> 
    </tr> 
    <tr> 
     <td> [textbox2 control] </td> 
    </tr> 
    <tr> 
    <td> 
     <gridview/> 
    </td> 
    </tr> 
</DataList> 

моя проблема, когда я нахожусь в GridView обработчика RowCommand я хочу, чтобы получить данные, которые имеются в [управлении textBox1] и [Управление textBox1]

я сделайте следующее

DataListItem dataListItem = (DataListItem)((GridView)sender).Parent.Parent.Parent.Parent; 
string txt = ((TextBox)dataListItem.FindControl([textbox1 control])).Text.Trim(); 

но это единственный способ?

ответ

0

Будет что-то вроде этой работы?

string txt = ((TextBox)DataList.Items[0].FindControl([textbox1 control])).Text.Trim(); 
+0

это может работать, если текущий элемент равен 0, но если это еще один ... как я могу знать? –

0

DataListItem dataListItem = (DataListItem) ((GridView) отправитель) .Parent.Parent.Parent.Parent; string txt = ((TextBox) dataListItem.FindControl ([textbox1 control])). Text.Trim(); , но это единственный способ?

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

DataListItem activitiesItem = (DataListItem) ((GridView) отправитель) .NamingContainer;

HiddenField hdnActivityID = (HiddenField) activitiesItem.FindControl ("hdnActivityID");

Смежные вопросы