Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2010, 19:27
Avatar de cjzava
cjzava
 
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>