Хорошо, я борюсь с использованием asp: formview.
У меня запущен вид формы, и я добавил кнопку «Редактировать».
<asp:FormView runat="server" id="fwHotelDetails" DataKeyNames="id" OnDataBound="fwHotelDetails_DataBound" OnModeChanging="fwHotelDetails_ModeChanging" >
<ItemTemplate>
// (..) some code here which outputs some data
<asp:Repeater runat="server" id="repScore">
<ItemTemplate>
<span class="item"> Some output here</span>
<asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" />
</ItemTemplate>
</asp:Repeater>
<EditItemTemplate>
Test test, anything??
</EditItemTemplate>
</ItemTemplate>
</asp:FormView>
Я попробовал следующие решения в коде - ни одно из них не работает:
protected void fwHotelDetails_ItemCommand(object sender, FormViewModeEventArgs e)
{
if (e.CommandName.Equals("Edit"))
{
fwHotelDetails.ChangeMode(e.NewMode);
}
}
и это:
protected void fwHotelDetails_ModeChanging(object sender, System.Web.UI.WebControls.DetailsViewModeEventArgs e)
{
fwHotelDetails.ChangeMode((FormViewMode)e.NewMode);
}
При нажатии кнопки «Редактировать» появляется только следующее сообщение об ошибке:
Формируемое событие FormView 'fwHotelDetails' ModeChanging, которое не было обработано
Что еще нужно сделать?
Эта страница является отличным справочником для контроллера FormView: http://authors.aspalliance.com/aspxtreme/sys/web/ui/webcontrols/FormViewClass.aspx
Обновление: Я обновил код для отражения предложения Федра.
Текущее состояние таково, что даже после нажатия кнопки «Редактировать» содержимое из ItemTemplate загружается.