Estoy creando una aplicacion web que conecta con base de datos. Como veréis en el código .aspx que pondré mas abajo (no estan incluidos todos los conceptos), me han pedido que haga un .aspx que tenga 31 CONCEPTOS.
Código aspx:
Ver original
<!--CONCEPTO 1--> <asp:Label ID="Concepto1" runat="server" Text=" CONCEPTO " Font-Size="Medium"></asp:Label> <p> <asp:DropDownList ID="ComboConceptosV1" runat="server" Height="25px" Width="175px" AutoPostBack="True"> </asp:DropDownList> <asp:Label ID="Label1" runat="server" Text="Descripción: "></asp:Label> <asp:TextBox ID="TextDescripcionV1" runat="server" BackColor="#CCCCCC" Width="190px"></asp:TextBox> <asp:Label ID="Facturable1" runat="server" Text="Facturable: "></asp:Label> <asp:RadioButtonList ID="RadioButtonFacturableV1" runat="server" AutoPostBack="True" RepeatDirection="Horizontal" RepeatLayout="Flow" CellPadding="-1" Enabled="False"> <asp:ListItem Value="1">SI</asp:ListItem> <asp:ListItem Value="2">NO</asp:ListItem> </asp:RadioButtonList> <asp:Label ID="Label2" runat="server" ForeColor="Red" Font-Bold="True"></asp:Label> <asp:Label ID="Orden1" runat="server" Text="Orden: "></asp:Label> <asp:TextBox ID="TextOrdenV1" runat="server" BackColor="#CCCCCC" Width="90px" Enabled="True" AutoPostBack="True"></asp:TextBox> <asp:Label ID="Proyecto1" runat="server" Text="Proyecto: "></asp:Label> <asp:TextBox ID="TextProyectoV1" runat="server" BackColor="#CCCCCC" Width="80px" Enabled="True" AutoPostBack="True"></asp:TextBox> <asp:Label ID="Importe1" runat="server" Text="Importe: "></asp:Label> <asp:TextBox ID="TextImporteV1" runat="server" BackColor="#CCCCCC" Width="50px" Enabled="True" AutoPostBack="True"></asp:TextBox> <asp:Label ID="validacionImporteV1" runat="server" ForeColor="Red" Font-Bold="True"></asp:Label> <asp:Label ID="ElementoPep1" runat="server" Text="Elem.Pep: "></asp:Label> <asp:TextBox ID="TextElementoPepV1" runat="server" BackColor="#CCCCCC" Width="40px" Enabled="False" AutoPostBack="True"></asp:TextBox> </p> ........ <!--CONCEPTO 31--> <asp:Label ID="Concepto31" runat="server" Text=" CONCEPTO " Font-Size="Medium"></asp:Label> <p> <asp:DropDownList ID="ComboConceptosV31" runat="server" Height="25px" Width="175px" AutoPostBack="True"> </asp:DropDownList> <asp:Label ID="Label176" runat="server" Text="Descripción: "></asp:Label> <asp:TextBox ID="TextDescripcionV31" runat="server" BackColor="#CCCCCC" Width="190px"></asp:TextBox> <asp:Label ID="Label178" runat="server" Text="Facturable: "></asp:Label> <asp:RadioButtonList ID="RadioButtonFacturableV31" runat="server" AutoPostBack="True" RepeatDirection="Horizontal" RepeatLayout="Flow" CellPadding="-1" Enabled="False"> <asp:ListItem Value="1">SI</asp:ListItem> <asp:ListItem Value="2">NO</asp:ListItem> </asp:RadioButtonList> <asp:Label ID="Label179" runat="server" Text="Orden: "></asp:Label> <asp:TextBox ID="TextOrdenV31" runat="server" BackColor="#CCCCCC" Width="90px" Enabled="True" AutoPostBack="True"></asp:TextBox> <asp:Label ID="Label180" runat="server" Text="Proyecto: "></asp:Label> <asp:TextBox ID="TextProyectoV31" runat="server" BackColor="#CCCCCC" Width="80px" Enabled="True" AutoPostBack="True"></asp:TextBox> <asp:Label ID="Label181" runat="server" Text="Importe: "></asp:Label> <asp:TextBox ID="TextImporteV31" runat="server" BackColor="#CCCCCC" Width="50px" Enabled="True" AutoPostBack="True"></asp:TextBox> <asp:Label ID="validacionInporteV31" runat="server" ForeColor="Red" Font-Bold="True"></asp:Label> <asp:Label ID="Label183" runat="server" Text="Elem.Pep: "></asp:Label> <asp:TextBox ID="TextElementoPepV31" runat="server" BackColor="#CCCCCC" Width="40px" Enabled="False" AutoPostBack="True"></asp:TextBox> </p> <asp:Table ID="Table28" runat="server" BorderColor="White" CellPadding="2" CellSpacing="5" Width="1056px"> <asp:TableRow Font-Bold="True" Font-Overline="False"> <asp:TableCell ID="CellTotGastosV" Font-Names="Arial Black" HorizontalAlign="Right" Enabled="False" Width="1000px" Font-Size="Medium">TOTAL GASTOS</asp:TableCell> <asp:TableCell ID="CellTotGastosCantiV" HorizontalAlign="Left" Enabled="False"> <asp:TextBox ID="TextTotGastosCantiV" runat="server" BackColor="Gray" Width="150px" maxlength="10" ForeColor="White" Font-Bold="True"></asp:TextBox> </asp:TableCell> </asp:TableRow> </asp:Table> <asp:Table ID="Table29" runat="server" BorderColor="White" CellPadding="2" CellSpacing="5" Width="1100px"> <asp:TableRow Enabled="False" Font-Bold="True" Font-Names="Arial Black" Font-Overline="False"> <asp:TableCell ID="TableCell8" HorizontalAlign="Left">OBSERVACIONES:</asp:TableCell> </asp:TableRow> <asp:TableRow Font-Bold="True" Font-Names="Arial" Font-Overline="False"> <asp:TableCell ID="TableCell9" HorizontalAlign="Left" Enabled="True"> <asp:TextBox ID="TextObservacionesV" runat="server" BackColor="#CCCCCC" Width="1040px" maxlength="500" Height="100px" TextMode="MultiLine"></asp:TextBox> </asp:TableCell> </asp:TableRow> </asp:Table> <asp:Table ID="Table31" runat="server" BorderColor="White" CellPadding="2" CellSpacing="5" Width="1050px"> <asp:TableRow Font-Bold="True" Font-Overline="False"> <asp:TableCell ID="TableCell31" HorizontalAlign="Right" Font-Size="Small" Width="390px">AUTORIZADO POR:</asp:TableCell> <asp:TableCell ID="TableCell32" HorizontalAlign="Right"> <asp:TextBox ID="TextBox31" runat="server" Width="350px" maxlength="70" Font-Bold="True"></asp:TextBox> </asp:TableCell> <asp:TableCell ID="TableCell33" HorizontalAlign="Right" Enabled="False"> <asp:TextBox ID="TextBox32" runat="server" Width="200px" ForeColor="White" Font-Bold="True" Height="40px"></asp:TextBox> </asp:TableCell> <asp:TableCell ID="TableCell7" HorizontalAlign="Left" Enabled="True"> <asp:Button Runat="server" ID="BtnGuardarV" Text=" Guardar "></asp:Button> </asp:TableCell> </asp:TableRow> </asp:Table> <asp:Table ID="Table30" runat="server" BorderColor="White" CellPadding="2" CellSpacing="5" Width="1200px"> <asp:TableRow Font-Bold="True" Font-Overline="False"> <asp:TableCell ID="CellValidacion" HorizontalAlign="Left" Enabled="True" Width="800px"> <asp:Label ID="Validacion4" runat="server" ForeColor="Red"></asp:Label> <asp:Label ID="Validacion5" runat="server" ForeColor="Red"></asp:Label> </asp:TableCell> </asp:TableRow> </asp:Table> </asp:Content>
Al hacer page_load tengo que ocultar todos los conceptos menos el concepto 1 y cuando meta el importe del concepto 1, se pondrá visible todo lo del concepto 2 y así sucesivamente.
Al darle al botón guardar, guardara en la base de datos el contenido de la hoja.
Pero no siempre tengo que guardar el contenido de los 31 conceptos ya que la mayoría de veces no estarán todos visibles. Algunas veces solo habrá datos en los primeros 3 conceptos y solo tendría que guardar el contenido de estos.
¿Como podría hacerlo sin tener que guardar siempre los 31 conceptos, la mayoria con valores nulos?
Gracias, espero que me ayuden ya que necesito solucionarlo cuanto antes y a mi no se me ocurre nada.