У меня есть UserControl, в котором у меня есть FormView.ITemplate внутри FormView.InsertItemTemlate исчезает после обратной передачи
Вид формы имеется только InsertItemTemplate (мне больше ничего не нужно)
<irt:FormView ID="FormViewInsertEvent" DefaultMode="Insert" runat="server" DataKeyNames="EVENT_ID"
DataSourceID="SqlDataSourceIocEvents">
<InsertItemTemplate>
//Some form elements (text boxes and labels etc.) which are common
<%if (CustomContent != null)
{ %>
<hr />
<asp:PlaceHolder runat="server" ID="PlaceHolderCustomContent"></asp:PlaceHolder>
<%} %>
// Link buttons with insert command
</InsertItemTemplate>
</irt:FormView>
код позади выглядит следующим образом:
public partial class EventControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (CustomContent != null)
{
Control ph = FormViewInsertEvent.FindControl("PlaceHolderCustomContent");
CustomContent.InstantiateIn(ph);
}
}
[
DefaultValue(null),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateInstance(TemplateInstance.Single),
Browsable(false)
]
public ITemplate CustomContent {
get;
set;
}
}
В вызывающему (страница) я есть что-то вроде этого (я передаю источник данных в UC и устанавливаю источник данных FormView из кода позади. В этом нет никаких проблем):
<irt:EventControl ID="EventControl" runat="server" DataSourceID="SqlDataSourceIocEvents">
<CustomContent>
Custom Field:
<asp:TextBox ID="TextBoxCustomField" runat="server" Text='<%# Bind("CustomField") %>' />
</CustomContent>
</irt:EventControl>
Моя проблема; когда я нажимаю кнопку ссылки и PostBack, пользовательский контент, т. е. содержимое, которое я разместил внутри поля Шаблон, исчезает.
Если я помещаю asp: PlaceHolder вне FormView.InsertItemTemplate, проблем нет. однако это не то, что мне нужно.
Мне нужна ITemplate внутри InsertItemTemplate, чтобы сохранить даже после обратной передачи. Похоже, что мой шаблон добавляется в список управления PlaceHolder, но где-то между PreRender и Render, эти элементы управления удаляются.
Любые идеи?
Благодаря Nandun
Вы решили это и как? Я столкнулся с той же проблемой. Jason –
Привет @JasonV Я исправил эту проблему, но для моей жизни не могу точно помнить, что я сделал. я вытащил код из его пыльной полки и прошел через него, и я думаю, что это были некоторые атрибуты класса и свойства, которые, наконец, решили проблему. Я отведу его в качестве ответа, если он работает для вас, отметьте его как ответ. – Nandun