21/02/2010, 19:27
|
| | | Fecha de Ingreso: enero-2006
Mensajes: 41
Antigüedad: 18 años, 10 meses Puntos: 1 | |
problemas con los DropDownList y postback gente tengo este problema tengo un DetailsView en el cual lo utilizo para insertar o updatear un registro de la bd, el problema es el siguiente en los valores que inserto o modifico hay dropDownList en el cual el segundo se filtra segun lo que se halla elegido en el primero, y dependiendo del valor qu eligan los gusrado en la bd
el problema surge cuando en el primero eligo un valor en el segun me sale este error
Los métodos de enlace de datos como Eval(), XPath() y Bind() sólo se pueden utilizar en el contexto de un control de enlace de datos.
investigando un poco me di cuenta ya que ese error es por ponerle en los dropdow SelectedValue='<%# Bind("SubCategoria") %>' , pero lo que me sucede es que cuando se lo saco el error mencionado no aparece los postback andan bien pero cuando inserto o updateo los valores de los combos me vienen NULOS, si alguno alguna vez le paso o sabe como solucionarlo se lo agredece mucho
aca les dejo el codigo asi lo ven
desde ya muchas gracias por todo
<asp:DetailsView ID="DetProducto" runat="server" AutoGenerateRows="False"
DataSourceID="ObjectDataSource1" DefaultMode="Insert" Height="50px" Width="100%">
<Fields>
<asp:TemplateField HeaderText="Categoria" SortExpression="Categoria">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="ObjectDataSource1"
DataTextField="Categorias" DataValueField="Categorias" SelectedValue='<%# Bind("Categoria") %>'
Width="100%" AutoPostBack="True" >
</asp:DropDownList>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetCategoria"
TypeName="Categoria">
</asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Categoria") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SubCategoria" SortExpression="SubCategoria">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" DataSourceID="ObjectSubCategoria"
DataTextField="SubCategorias" DataValueField="SubCategorias" SelectedValue='<%# Bind("SubCategoria") %>' Width="100%">
</asp:DropDownList>
<asp:ObjectDataSource ID="ObjectSubCategoria" runat="server" SelectMethod="GetSubCategoriList"
TypeName="SubCategoria">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="Cat" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("SubCategoria") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Titulo" SortExpression="Titulo">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Titulo") %>' Width="100%"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Titulo") %>' Width="100%"></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("Titulo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Descripcion" SortExpression="Descripcion">
<EditItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Descripcion") %>' Height="80px" TextMode="MultiLine" Width="100%"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Descripcion") %>' Height="80px" Width="100%"></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("Descripcion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Precio" SortExpression="Precio">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Precio") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Precio") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("Precio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Imagen" SortExpression="Imagen">
<EditItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Imagen") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("Imagen") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("Imagen") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="IdProducto" HeaderText="IdProducto" SortExpression="IdProducto" InsertVisible="False" />
<asp:CommandField ShowEditButton="True" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" InsertMethod="InsertarProducto"
SelectMethod="GetProductoById" TypeName="Productos" UpdateMethod="UpdateProducto">
<UpdateParameters>
<asp:Parameter Name="idproducto" Type="Int32" />
<asp:Parameter Name="titulo" Type="String" />
<asp:Parameter Name="descripcion" Type="String" />
<asp:Parameter Name="precio" Type="Double" />
<asp:Parameter Name="categoria" Type="String" />
<asp:Parameter Name="subcategoria" Type="String" />
<asp:Parameter Name="imagen" Type="String" />
</UpdateParameters>
<SelectParameters>
<asp:QueryStringParameter Name="idprod" QueryStringField="idproducto" Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="titulo" Type="String" />
<asp:Parameter Name="descripcion" Type="String" />
<asp:Parameter Name="precio" Type="Double" />
<asp:Parameter Name="categoria" Type="String" />
<asp:Parameter Name="subcategoria" Type="String" />
<asp:Parameter Name="imagen" Type="String" />
</InsertParameters>
</asp:ObjectDataSource> |