FindControl в DetailsView Не работает?

У меня есть Gridview, и при нажатии кнопки редактирования сведения об этой строке отображаются с помощью подробного просмотра.

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

Прежде всего, я не уверен, какое событие будет использоваться, но использовал DetailsView1_DataBound. Однако, если мне нужно найти элемент управления, используя

var control=(ControlType)DetailsView1.Findcontrol("ID");

Всегда возвращает null. Возможно, я использую неправильное событие, и в этот момент он не смог найти элемент управления. Любые идеи о мероприятии, которое будет использоваться, и правильный код, пожалуйста?

Спасибо


person pinki    schedule 31.03.2011    source источник
comment
покажите свой код конструктора представления подробностей.   -  person Muhammad Akhtar    schedule 31.03.2011
comment
покажите свой aspx и код за кодом   -  person santosh singh    schedule 31.03.2011
comment
он довольно большой., какую часть вы хотите увидеть   -  person pinki    schedule 31.03.2011
comment
Мой Gridview на панели обновлений и AsyncPostBackTrigger controlId = DetailsView для Iteminserted и itemUpdated.   -  person pinki    schedule 31.03.2011
comment
кундур; ты пробовал мое решение?   -  person Muhammad Akhtar    schedule 31.03.2011


Ответы (2)


В своем databound event вам нужно позаботиться о своем DetailsView Mode

 if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
    {
      //Put here if you want to find control of your Edit Mode
      var control=(ControlType)DetailsView1.Findcontrol("EditTemplateControlID");
    }

 if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
    {
        //Put here if you want to find control of your Insert Mode
      var control=(ControlType)DetailsView1.Findcontrol("InsertTemplateControlID");
    }
person Muhammad Akhtar    schedule 31.03.2011
comment
Akthar., Спасибо, да, я попробовал и нашел элемент управления, привязал его., Могу я обсудить с вами кое-что., Веб-сайт уже создан, и я просто добавляю новую функцию. Итак, что они сделали, они взяли gridview, но они не указывают командные кнопки gridview., они использовали кнопки ссылок (РЕДАКТИРОВАТЬ И УДАЛИТЬ). Затем в событии щелчка они отобразили представление сведений. «Я добавил представление сетки в этом представлении сведений» С вашим решением я мог бы привязать его, но не могу видеть данные. Почему ????? - person pinki; 31.03.2011
comment
вы можете разместить новый вопрос; подробно объясните вашу проблему, разместите свой код и сформируйте дизайн; Я вам обязательно помогу :) - person Muhammad Akhtar; 31.03.2011
comment
@ manasareddy.kundur; если решение вам поможет; не забудьте отметить как ответ лучший ответ. Благодарность - person Muhammad Akhtar; 01.04.2011

У меня была такая же проблема, и ответ Мухаммада Ахтара мне не помог. Проблема была решена после изменения режима DetailsView по умолчанию с «редактировать» на «вставить».

Я бы также рекомендовал событие ItemCreated вместо события DataBound. Я часто использую его для установки значения по умолчанию в поле DetailsView.

person esims    schedule 17.01.2017