【发布时间】:2011-08-14 13:30:50
【问题描述】:
我创建了一个在日历中选择日期后显示的详细信息视图。此详细信息视图通过后面代码中的 select 语句填充。这是我遇到的问题的列表:
- 我必须在编辑按钮上单击两次才能在编辑模式下获得详细信息视图。
- 进入编辑模式后,我会看到更新和取消按钮,但我还必须单击两次取消才能返回只读状态。
- 当我处于编辑模式时,我有 3 行可以编辑,当我在只读模式下按两次取消时,这 3 行的值不再显示,尽管数据仍然存在,但它们只是空字段在数据库中。
- 当我在编辑模式下更改某些内容并按更新时,我的详细信息视图就会消失。
代码隐藏:
protected void DetailView1_ModeChanging(Object sender, DetailsViewModeEventArgs e)
{
if (e.NewMode == DetailsViewMode.Edit)
{
DetailsView1.ChangeMode(e.NewMode);
}
if (e.CancelingEdit)
{
DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);
}
}
protected void DetailView1_ItemUpdating(Object sender, DetailsViewUpdateEventArgs e)
{
DetailsView1.DataBind();
}
protected void DetailsView1_ItemUpdated(object sender, DetailsViewUpdatedEventArgs e)
{
DetailsView1.DataBind();
}
标记:
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
OnModeChanging="DetailView1_ModeChanging" OnItemUpdating="DetailView1_ItemUpdating"
OnItemUpdated="DetailsView1_ItemUpdated"
AllowPaging="True" PageSize="5" HeaderText="Agenda" CellPadding="10"
ForeColor="#333333" />
【问题讨论】:
标签: c# asp.net .net data-binding detailsview