ASP.NET - dropdownlist dependientes

   
Vista:

dropdownlist dependientes

Publicado por nenure (56 intervenciones) el 18/11/2008 13:10:18
Hola, por favor necesito ayuda urgentemente. Estoy intentando hacer 2 dropdownlist dependientes, uno de provincias donde selecciono la provincia que deseo y a continuacion en el siguiente dropdownlist aparecen solo las localidades correspondientes a esa provincia. Hasta ahi bien. El problema viene cuando intento editar o insertar. Selecciono la provincia y luego la localidad, pero con el codigo que tengo, solo me guarda y puede visualizar la provincia, pero no la localidad. Si pongo en el edititemtemplate de la localidad el BIND que se supone que asi me guarda y luego puedo visualizar me da el siguiente error: (si no cambio de provincia, solo de localidad, va bien), ahora cuando intento cambiar de provincia:

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.

Tengo el siguiente codigo que muestro abajo.

<asp:templatefield headertext="provincia" sortexpression="provincia" >
<itemtemplate>
<asp:Label ID="provincia" runat="server" Text='<%# Bind("provincia") %>'></asp:Label>
</itemtemplate>
<edititemtemplate>
<asp:dropdownlist id="dropdownlistprov" AutoPostBack="true" runat="server" appenddatabounditems="true" datasourceid="sqldatasourceprov" datatextfield="nombre_provincia" datavaluefield="nombre_provincia" selectedvalue='<%# bind("provincia") %>' >
<asp:ListItem Value="-"></asp:ListItem>
</asp:dropdownlist>
<asp:SqlDataSource ID="sqldatasourceprov" runat="server" ConnectionString="<%$ ConnectionStrings:conexion buena %>"
ProviderName="<%$ ConnectionStrings:conexion buena.ProviderName %>" SelectCommand="SELECT NOMBRE_PROVINCIA FROM PROVINCIAS order by nombre_provincia">
</asp:SqlDataSource>
</edititemtemplate>
<insertitemtemplate>
<asp:dropdownlist id="dropdownlistprov" runat="server" appenddatabounditems="true" datasourceid="sqldatasourceprov" datatextfield="nombre_provincia" datavaluefield="nombre_provincia" selectedvalue='<%# bind("provincia") %>'
AutoPostBack="true">
<asp:ListItem Value="-"></asp:ListItem>
</asp:dropdownlist>
<asp:SqlDataSource ID="SqlDataSourceprov" runat="server" ConnectionString="<%$ ConnectionStrings:conexion buena %>"
ProviderName="<%$ ConnectionStrings:conexion buena.ProviderName %>" SelectCommand="SELECT NOMBRE_PROVINCIA FROM PROVINCIAS order by nombre_provincia">
</asp:SqlDataSource>
</insertitemtemplate>
</asp:templatefield>

<asp:TemplateField HeaderText="localidad" SortExpression="localidad">
<EditItemTemplate>
<asp:DropDownList ID="DropDownListlo" runat="server" DataSourceID="SqlDataSourcelo" DataTextField="localidad" DataValueField="localidad" >
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSourcelo" runat="server" ConnectionString="<%$ ConnectionStrings:conexion buena %>" ProviderName="<%$ ConnectionStrings:conexion buena.ProviderName %>"
SelectCommand="SELECT localidad FROM localidades_old WHERE (provincia = ?) order by localidad">
<SelectParameters>
<asp:ControlParameter ControlID="dropdownlistprov" Name="nombre_provincia" PropertyName="selectedvalue" Type="string" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="localidad" runat="server" Text='<%# Bind("localidad") %>'></asp:Label>
</ItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="DropDownListloc" runat="server" DataSourceID="SqlDataSourceloc" DataTextField="localidad" DataValueField="localidad" selectedvalue='<%# bind("localidad") %>' >

</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSourceloc" runat="server" ConnectionString="<%$ ConnectionStrings:conexion buena %>" ProviderName="<%$ ConnectionStrings:conexion buena.ProviderName %>"
SelectCommand="SELECT localidad FROM localidades_old WHERE (provincia = ?) order by localidad">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownListprov" Name="nombre_provincia" PropertyName="SelectedValue" Type="string" />
</SelectParameters>
</asp:SqlDataSource>
</InsertItemTemplate>
</asp:TemplateField>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder