Ciao a tutti, un dubbio/consiglio dettato dalla vostra esperienza


ho visto molti esempi con la gestione automatica degli insert, direttamente nell'HTML con collegamento tra GridView + MultiView + FormView (allego un codice di esempio per capire cosa intendo)


sinceramente io invece preferisco la gestione "tradizionale", ovvero caricare una nuova pagina (o cmq un'area della pagina) con dettaglio del record oppure con l'area di insert (gestendo e creando i sincoli campi textbox, dropdownlist, checkbox....), recuperando dal DB il record (caricandolo magari in un'opportuna classe/entity) e lavorando poi sui singoli campi (proprietà della classe)

questa seconda soluzione mi da un maggior controllo su quello che faccio in quanto la prima soluzione è troppo integrata e "vincolata" alla sua struttura


dubbi:

1) voi cosa ne pensate?? ho scritto fesserie?
2) quale soluzione adottate?


Grazie mille



Codice PHP:

                
<asp:ObjectDataSource ID="odsContactPersons" runat="server" DataObjectTypeName="Spaanjaars.ContactManager.BusinessEntities.ContactPerson" DeleteMethod="Delete" InsertMethod="Save" SelectMethod="GetList" TypeName="Spaanjaars.ContactManager.Bll.ContactPersonManager" UpdateMethod="Save" SortParameterName="sortExpression" EnablePaging="True" SelectCountMethod="SelectCountForGetList"></asp:ObjectDataSource>


<
asp:MultiView ID="MultiView1" runat="server">
                    
griglia MultiView X
                    

                    
<asp:View ID="View1" runat="server">
                        <
fieldset>
                            <
legend>
                                <
asp:Localize ID="locAddresses" runat="server" meta:resourcekey="locAddressesResource1" Text="Addresses"></asp:Localize></legend>
                            <
asp:Button ID="btnNewAddress" runat="server" Text="Create new Address" OnClick="btnNewAddress_Click" meta:resourcekey="btnNewAddressResource1" />
                            <
asp:GridView ID="gvAddresses" runat="server" AutoGenerateColumns="False" DataKeyNames="Id,ConcurrencyId" DataSourceID="odsAddresses" AllowPaging="True" OnRowUpdating="gvAddresses_RowUpdating" OnRowUpdated="gvAddresses_RowUpdated" meta:resourcekey="gvAddressesResource1">
                                <
Columns>
                                    <
asp:BoundField DataField="ContactPersonId" ReadOnly="True" HeaderText="Contact Person Id" meta:resourcekey="BoundFieldResource5" />
                                    <
asp:BoundField DataField="Street" HeaderText="Street" SortExpression="Street" meta:resourcekey="BoundFieldResource6" />
                                    <
asp:BoundField DataField="HouseNumber" HeaderText="House Number" meta:resourcekey="BoundFieldResource7" />
                                    <
asp:BoundField DataField="ZipCode" HeaderText="ZipCode" SortExpression="ZipCode" meta:resourcekey="BoundFieldResource8" />
                                    <
asp:BoundField DataField="City" HeaderText="City" SortExpression="City" meta:resourcekey="BoundFieldResource9" />
                                    <
asp:BoundField DataField="Country" HeaderText="Country" meta:resourcekey="BoundFieldResource10" />

....

....

....


<
asp:FormView ID="fvAddress" runat="server" DataKeyNames="Id" DataSourceID="odsAddresses" DefaultMode="Insert" OnItemInserting="fv_ItemInserting" Visible="False" OnItemCommand="fvAddress_ItemCommand" OnItemInserted="fvAddress_ItemInserted" EnableViewState="False" OnItemUpdating="fvAddress_ItemUpdating" meta:resourcekey="fvAddressResource1">
                                <
InsertItemTemplate>
                                    <
span class="Label">Street:</span>
                                    <
asp:TextBox ID="StreetTextBox" runat="server" Text='<%# Bind("Street") %>' meta:resourcekey="StreetTextBoxResource1" />
                                    

                                    <
span class="Label">HouseNumber:</span>
                                    <
asp:TextBox ID="HouseNumberTextBox" runat="server" Text='<%# Bind("HouseNumber") %>' meta:resourcekey="HouseNumberTextBoxResource1" />
                                    

                                    <
span class="Label">ZipCode:</span