Короче говоря, для старого проекта я использовал динамические данные ASP.Net и, вероятно, сделал с ним ужасную работу. В одном из шаблонов полей есть несколько элементов управления, и теперь мне нужно получить значение одного элемента управления из события отправки FormView, потому что мы изменили способ сохранения этого значения.Как я могу получить значение элемента управления в шаблоне пользовательского поля ASP.Net Dynamic Data?
Я могу найти сам шаблон поля, используя FindFieldTemplate ... но я не могу понять, как добраться до элементов управления внутри шаблона.
Как я могу это сделать, не переделывая все это, чтобы вытащить это одно поле? Вероятно, было бы правильнее реорганизовать его, но это быстрое решение для веб-сайта, который будет отменен через пару месяцев.
EDIT: Просили показать код так, как он есть. FormView довольно стандартный, просто использует. У шаблона поля фактически есть свой собственный список, и я контролирую его режим в коде. Но мне нужно получить значение txtTitle.
Ticket_TicketMemo.ascx:
<asp:ListView ID="lvTicketMemos" DataSourceID="ldsTicketMemo"
InsertItemPosition="FirstItem" OnLoad="lvTicketMemo_Load" runat="server">
<LayoutTemplate>
<div style="overflow:auto; height:125px; width:600px;">
<table class="ListViewTable" runat="server">
<tr id="itemPlaceHolder" runat="server" />
</table>
</div>
</LayoutTemplate>
<ItemTemplate>
<tr valign="top" class='<%# Container.DataItemIndex % 2 == 0 ? "" : "Alternate" %>'>
<td><asp:DynamicControl ID="dcType" DataField="Type" runat="server" /></td>
<td><asp:DynamicControl ID="dcMemo" DataField="Memo" runat="server" /></td>
<td><asp:DynamicControl ID="dcCreateTime" DataField="CreateTime" runat="server" /></td>
</tr>
</ItemTemplate>
<InsertItemTemplate>
<tr valign="top">
<td colspan="3">
<asp:TextBox ID="txtTitle" Width="99%" Visible="false" OnLoad="txtTitle_Load" runat="server" /><br /><br />
</td>
</tr>
<tr valign="top">
<td colspan="3" width="600px">
<asp:TextBox ID="txtMemo" Text='<%# Bind("Memo") %>' Width="99%" OnLoad="txtMemo_Load" TextMode="MultiLine"
Rows="5" runat="server" />
<asp:RequiredFieldValidator ID="rfvMemo" Text="Must enter notes" ControlToValidate="txtMemo" runat="server" />
</td>
</tr>
</InsertItemTemplate>
Не могли бы вы опубликовать код с 'FormView' и вашего шаблона поля с элементами управления для ясности. – Konstantin