ObjectDataSource e DropDownList error

mercoledì 04 febbraio 2009 - 13.07

Zootter Profilo | Newbie

Salve a tutti, ho un problema nella mia applicazione asp .Net, uso un oggetto datalist che utilizza un objectdatasource(CATEGORIE), all'interno degli item template ho inserito un'altro
object datasource(PRODOTTI) collegato ad un dropdownlist che restituisce tutti i prodotti di una categoria.
Per fare ciò ho inserito un texbox nascosto bindato con il primo objectdatasource(CATEGORIE) in modo che potessi passare al secondo objectdatasource(PRODOTTI) il parametro ID categoria (non so se sia la soluzione piu elegante) cmq il tutto sembrerebbe funzionare.
L'idea è quella di inserire nel campo DataTextField il nome del prodotto e nel campo DataValueField l'id della categoria(campo presente nella tabella Prodotti si chiama DepartmentID ).


Ma ho riscontrato il seguente errore Se aggancio l'evento DropDownList1_SelectedIndexChanged() queto non viene sempre richiamato ossia:

se inserisco il campo DataValueField="DepartmentID" l'evento non viene richiamato

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="ObjectDataSource1" DataTextField="Title"
onselectedindexchanged="DropDownList1_SelectedIndexChanged" DataValueField="DepartmentID" />

se lo ometto l'evento viene richiamato

asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="ObjectDataSource1" DataTextField="Title"
onselectedindexchanged="DropDownList1_SelectedIndexChanged" />

sapete forse il perche ? sto facendo errori di logica o cose simili? Nel frattempo vi posto tutto il cosdice

Spero di essere stato chiaro!


---------------------------------------------------------------------------------------------------------------------
<asp:DataList ID="dlstDepartments" EnableTheming="False" runat="server" DataSourceID="objAllDepartments" DataKeyField="ID" Width="80%"
RepeatColumns="3" align="center" CellSpacing="5">

<ItemTemplate>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetProducts" TypeName="Prova.BLL.Store.Product" >
<SelectParameters >
<asp:ControlParameter ControlID="TextBox1" DefaultValue="" Name="departmentID" PropertyName="Text" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
-----------------------------------------------------Pezza inserita ma non so se si faccia cosi--------------------------------------
<asp:TextBox ID="TextBox1" visible="false" runat="server" Text='<%# Eval("ID") %>' ></asp:TextBox>
---------------------------------------------------------------------------------------------------------------------------------------

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
DataSourceID="ObjectDataSource1" DataTextField="Title"
onselectedindexchanged="DropDownList1_SelectedIndexChanged" DataValueField="DepartmentID" />

</ItemTemplate>

</asp:DataList>

<asp:ObjectDataSource ID="objAllDepartments" runat="server" SelectMethod="GetDepartments"
TypeName="Prova.BLL.Store.Department">
</asp:ObjectDataSource>



Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5