Formview插入不触发插入方法

时间:2012-08-25 17:26:52

标签: c# asp.net visual-studio-2010 entity-framework

我正在使用formview来编辑实体模型。简化的formview头代码是:

<asp:FormView ID="formViewSalon" runat="server" DataSourceID="OdsSalonData">

对象数据源代码是:

<asp:ObjectDataSource ID="OdsSalonData" runat="server"  
                      DataObjectTypeName="WebApplication1.EDM.Salon" 
                      DeleteMethod="DeleteSalon" InsertMethod="CreateNewSalon"
                      SelectMethod="GetSalonBySalonId" 
                      TypeName="WebApplication1.EDM.SalonLogic" 
                      UpdateMethod="UpdateSalon" OnSelecting="OdsSalonData_Selecting">

保存/更新按钮的代码是:

protected void ButtonSave_Click(object sender, EventArgs e)
{
    if (formViewSalon.CurrentMode == FormViewMode.Insert)
    {
        formViewSalon.InsertItem(true);
    }
    else if (formViewSalon.CurrentMode == FormViewMode.Edit)
    {
        formViewSalon.UpdateItem(true);
    }
}

当我更新表单时,方法UpdateSalon会在尝试执行该行时触发:

formViewSalon.UpdateItem(true);

但是当我尝试插入新记录时,方法CreateNewSalon在运行时没有触发:

formViewSalon.InsertItem(true);

这两种方法的定义是:

[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)]
public string CreateNewSalon(Salon newSalon) { }

[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)]
public void UpdateSalon(Salon updatedSalon) { }

我疯了两个进程之间的区别。 请指教,任何线索/想法都会立即测试!谢谢!

0 个答案:

没有答案