好的,所以我正在努力使用 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
更新:我更新了代码以反映 Phaedrus 的建议。当前状态是即使在单击“编辑”按钮后,仍会加载 ItemTemplate 中的内容。