Доступ к содержимому текстового поля, находящегося внутри ячейки detailsView - PullRequest
1 голос
/ 25 июля 2011

Привет! Мне нужен доступ к содержимому текстового поля, которое находится внутри подробного представления:

<asp:TemplateField HeaderText="Transaction Name:" > 
                <InsertItemTemplate>
                    <asp:TextBox ID="txtTransactionName" runat="server" />
                </InsertItemTemplate>            
</asp:TemplateField>

Попробовал string v = ((TextBox)detailsNew.FindControl("txtTransactionName")).Text; но вернул "" когда я проверял. РЕДАКТИРОВАТЬ: я пытаюсь выше в detailsNew_ItemInserting(...)

Ответы [ 3 ]

1 голос
/ 25 июля 2011

Вы можете попробовать как ...

protected void detailsNew_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
  string v = ((TextBox)((DetailsView)sender).FindControl("txtTransactionName")).Text;
}
0 голосов
/ 27 июля 2011

Нашел проблему. Оставьте это здесь, чтобы помочь кому-то, у кого может быть такая же проблема.

Я не могу использовать объект отправителя для получения DetailsView. Итак, правильный путь:

TextBox txt = (TextBox)DETAILSVIEW_ID.FindControl("TEXTBOX_ID") as TextBox;
string tmp = txt.Text;

DETAILSVIEW_ID - это идентификатор DetailsView и TEXTBOX_ID - идентификатор TextBox, помещенного в DetailsView.

0 голосов
/ 26 июля 2011

Сначала этот элемент управления шаблона элемента должен быть связан со свойством из источника данных, чтобы при возникновении события вставки элемента вы могли получить доступ к его данным с помощью этого кода

e.Values["ColumnName"]
...