• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 900
  • Last Modified:

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>

0
arvee2003
Asked:
arvee2003
1 Solution
 
existenz2Commented:
You should use  the InsertItemTemplate from the FormView when doing inserts, else that error will be thrown.
0
 
arvee2003Author Commented:
None. Not Useful
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now