Foros del Web » Programando para Internet » ASPX (.net) »

problemas con los DropDownList y postback

Estas en el tema de problemas con los DropDownList y postback en el foro de ASPX (.net) en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/02/2010, 19:27
Avatar de cjzava  
Fecha de Ingreso: enero-2006
Mensajes: 41
Antigüedad: 18 años, 3 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>
  #2 (permalink)  
Antiguo 23/02/2010, 13:05
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: problemas con los DropDownList y postback

Lo siento, pero no entiendo cual es tu problema.
Por favor, intenta explicarte lo más correctamente posible para que podamos hacernos una idea exacta del problema y así darte una buena solución.

Saludos
__________________
Mi blog de temas más o menos técnicos

Y aquí el Jamón jamon de Jabugo
  #3 (permalink)  
Antiguo 23/02/2010, 19:25
Avatar de cjzava  
Fecha de Ingreso: enero-2006
Mensajes: 41
Antigüedad: 18 años, 3 meses
Puntos: 1
Respuesta: problemas con los DropDownList y postback

hola tratare de ser mas explicativo ya que explicarlo en palabras es medio complicado

tengo un DetailsView en el cual lo utilizo para insertar valores en bd o modificar dichos valores que se filtran a travez de querystring(id)
tanto en la insercion como el update como la seleccion de los mismos utlizo una clase que se comunca la bd e invocan unos storeprocedure para cada caso

los campos son,
categoria "mostrados por un DropDownList que se carga de una tabla de la bd" con la propiedad postback = true
subcategoria "que se filtrar segun la categoria que se eligio arriba "
en los dos DropDownList tienen la propiedad selectvalue para poder recueperar el valor que se va a insertar en la bd

el problema sucede cuando en categorias eligo una seccion del menu me da el 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

entonces probando le saco la propiedad selectvalue al DropDownList de subcategorias y el error no me sale mas pero el valor que elegi en el DropDownList de subcategorias me viene nulo

esto me pasa tanto en la insercion como el update, otro problema es que si les saco el selectvalue a los DropDownList cuando voy a modificar los datos el usuario tiene que volver a elegir la subcategoria que tenia


en la parte de arriba le paso el codigo que se genera en el detailview para la consulta los combos, etc

espero que halla sido claro

Etiquetas: dropdownlist, postback, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.