FormView and GridView with DataSources

Discussion in 'ASP .Net' started by =?Utf-8?B?TGFkaXNsYXYgTXJua2E=?=, Feb 1, 2007.

  1. Hello,
    I read some msdn and other articles about how does databinding among
    DataSource controls and FormView / GridView controls works but I still don't
    fully understand to this blackbox. I have few questions and hopefully you can
    provide me some answers.

    1. Best place for DataBinding.
    Where is the best place for calling DataBind method? Is it possible to say
    don't bind controls for this postback and use current values instead? These
    questions are mainly oriented on non-submit postbacks (like dependency
    between two controls in formview, after selecting value in first one, second
    one is updated so postback is needed) and for server side validations. I had
    some problems with calling validations, populating and binding in proper
    order.

    Small description of two problems I recently had:
    FormView with many controls and validators - after save button is pushed
    postback is processed. First in click event handler Page.IsValid is tested.
    If page is invalid processing is completed and page has to return to user.
    Before this Page_PreRender with FormView's DataBind is called. After this
    call all validators become invisible. If I do not call FormView's DataBind,
    binding is called automaticly when page is about to render. Only way how to
    pass this problem was to validate page again after FormView's DataBind is
    called.

    Second problem is probably very similar. I had FormView with other
    populating postbacks. When populating postback or validation was called
    during UpdateMode of FormView, all controls in FormView have been bound to
    values from SelectMethod so all changes have been lost. To solve this problem
    I put my bussiness object to session and updated datasource to use this
    object. In every populating postback object in session was updated by new set
    of values. This partial updates caused difficulties because validators for
    controls had to be called manually to store every valid value.

    2. Best place for storing business object used by ObjectDataSource and what
    is best "pattern" for using ObjectDataSource
    As you could see in previous example i am looking for best practice to use
    FormView / ObjectDataSource controls. My first idea was to use SelectMethod
    from session and Update, Delete, Insert method directly to DB. This looks
    like odd sloution because previous examples do not work as I would like. So
    how to used it in best way?

    3. Inserting
    This was special problem with FormView. I used InsertMode to create new
    item. Is there any possibility how to store values between postbacks? My
    soloution with object in Session used for UpdateMode didn't work for
    InsertMode. SelectMethod didn't bind controls so after every postback all
    controls (textboxes) were blank. My workaround was to store values from
    controls to fields and populate them again after FormView's DataBind was
    called in Page_PreRender. I realy don't like this solution but i don't have
    any idea how to do it better.

    I had some similar problems with GridView when i tryed to allow user to make
    all changes like inserting, deleting and updating rows and save all changes
    to DB after save button has been pushed.

    Thanks for any responce / ideas,
    Ladislav Mrnka
     
    =?Utf-8?B?TGFkaXNsYXYgTXJua2E=?=, Feb 1, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Lars-Erik Aabech
    Replies:
    8
    Views:
    872
    Lars-Erik Aabech
    Apr 28, 2005
  2. jobs
    Replies:
    3
    Views:
    645
  3. jobs
    Replies:
    0
    Views:
    389
  4. Shanksluvsuall
    Replies:
    0
    Views:
    382
    Shanksluvsuall
    Mar 14, 2008
  5. tsaprout
    Replies:
    0
    Views:
    482
    tsaprout
    Jul 30, 2008
Loading...

Share This Page