Link to home
Start Free TrialLog in
Avatar of arvee2003
arvee2003

asked on

FormView: Insert Record Issues

Hi,

I have a formview for insert and updates. I was trying to call a procedure in formview_itemcommand event without setting InsertMethod for the ObjectDataSource. I got an
error and so I gave the exact procedure name for insert method to get rid of the error.

Since the formview objectdatasource method does not exactly match (the no of argument and name) with FormView Datasource(in insertiemtemplate), I was trying to avoid calling the selectmethod defined.

I was able to insert the record in itemcommand event.  

The problem is

1. While exiting out the Item_command event it gives the following error
      Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: FormView 'FormViewInsertApplication'
                must be in insert mode to insert a new record.
2. After insert, I tried setting the default mode readonly. It does not work

How do I by pass the above problems or is there other better way of accomplishing the same.

Thanks
Suresh

Sections of Code
----------------------
  protected void FormViewInsertApplication_ItemCommand(object sender, FormViewCommandEventArgs e)
    {
        FormView fvApp = (FormView)FindControl("FormViewInsertApplication");
        if (e.CommandName == "Insert")
        {
            if (!doValidate()) { return; }
            // Call Insert Procedure
            //Check return status . If return > 0 set the formview to readonly
 
            dataMaint psMaint = new  dataMaint();

            newID  = psMaint.InsertApp(parameter list)  // This works
 
            if (Convert.ToInt32(newID) > 0)
            {
                fvApp.ChangeMode(FormViewMode.ReadOnly);
               return;  // error after this
            }          
        }


  <asp:FormView ID="FormViewInsertApplication" runat="server"  
            DefaultMode="Insert" DataKeyName="id"
            DataSourceID="ObjectDataSource1"
            OnItemCommand="FormViewInsertApplication_ItemCommand"
            OnItemCreated="FormViewInsertApplication_ItemCreated">
</asp:FormView>

 <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
        SelectMethod="GetApplicationListByID"
        InsertMethod="InsertApp"
        TypeName="dataMaint">
        <SelectParameters>
            <asp:SessionParameter Name="id" SessionField="sid"
                Type="String" />
        </SelectParameters>
  </asp:ObjectDataSource>

ASKER CERTIFIED SOLUTION
Avatar of existenz2
existenz2
Flag of Netherlands image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of arvee2003
arvee2003

ASKER

None. Not Useful