У меня в основном что-то вроде этого:Динамическое добавление кнопки в PlaceHolder в DataGrid
<asp:datagrid id="DGrid" runat="server" AutoGenerateColumns="false">
<asp:TemplateColumn HeaderText="Stuff">
<ItemTemplate>
<asp:PlaceHolder id="PH" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</asp:datagrid>
Мне нужно добавить кнопку на PlaceHolder в зависимости от значений данных я связывающим. В настоящий момент я добавляю кнопку после того, как данные привязаны в Page_Load. Проблема в том, что методы привязки данных не вызываются в postbacks, поэтому кнопка исчезает, когда я нажимаю на нее.
Любые предложения о том, как это сделать? Проблема в том, что мне нужно знать некоторые атрибуты элемента сетки для создания кнопки, поэтому я не могу создать ее до того, как данные были связаны.
Мне все еще нужно каким-то образом получить доступ к связанным данным в postback - e.Item.DataItem, похоже, к тому времени будет NULL. – hrnt
См. Мое обновление. – volpav
Обычно e.Item.DataItem имеет значение null не из-за проблемы в представлении, а из-за того, что вы создаете строки заголовка или нижнего колонтитула. Попробуйте сделать if (e.Item.DataItem ничего) {return;} и посмотреть, что произойдет. – Peter