niente da fare .... posto un po' di codice con un esempio più facile
questo è parte dell'aspx
La selezione del cliente scatena un postback, al termine del quale il controllo con la data risulta resettato al valore iniziale.codice:<asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="Sqldetail" DataKeyNames="rp_ID" AutoGenerateRows="False"> <Fields> <asp:BoundField DataField="rp_ID" HeaderText="rp_ID" ReadOnly="True" InsertVisible="False" SortExpression="rp_ID"></asp:BoundField> <asp:TemplateField HeaderText="Data *" SortExpression="rp_datarapp"> <EditItemTemplate> <asp:TextBox runat="server" Text='<%# Bind("rp_datarapp") %>' ID="datarapp" ReadOnly="true"></asp:TextBox> <ajaxToolkit:CalendarExtender runat="server" Enabled="True" TargetControlID="datarapp" ID="datarapp_CalendarExtender" Format="dd/MM/yyyy"></ajaxToolkit:CalendarExtender> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox runat="server" Text='<%# Bind("rp_datarapp") %>' ID="datarapp" ReadOnly="true"></asp:TextBox> <ajaxToolkit:CalendarExtender runat="server" Enabled="True" TargetControlID="datarapp" ID="datarapp_CalendarExtender" Format="dd/MM/yyyy"></ajaxToolkit:CalendarExtender> </InsertItemTemplate> <ItemTemplate> <asp:Label runat="server" Text='<%# Bind("rp_datarapp") %>' ID="Label1"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Cliente *" SortExpression="rp_cliente"> <EditItemTemplate> <asp:DropDownList ID="cliente" runat="server" DataSourceID="SqlClienti" DataTextField="an_descr1" DataValueField="an_conto" AppendDataBoundItems="True" SelectedValue='<%# Bind("rp_cliente")%>' Width="250px" OnSelectedIndexChanged="cliente_SelectedIndexChanged" autopostback="true"> <asp:ListItem Value="">scegli un cliente</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RFcliente" runat="server" ErrorMessage="Cliente è richiesto" ControlToValidate="cliente" ValidationGroup="detail" Display="None"></asp:RequiredFieldValidator> </EditItemTemplate> <InsertItemTemplate> <asp:DropDownList ID="cliente" runat="server" DataSourceID="SqlClienti" DataTextField="an_descr1" DataValueField="an_conto" AppendDataBoundItems="True" SelectedValue='<%# Bind("rp_cliente")%>' Width="250px" OnSelectedIndexChanged="cliente_SelectedIndexChanged" autopostback="true"> <asp:ListItem Value="">scegli un cliente</asp:ListItem> </asp:DropDownList> <asp:RequiredFieldValidator ID="RFcliente" runat="server" ErrorMessage="Cliente è richiesto" ControlToValidate="cliente" ValidationGroup="detail" Display="None"></asp:RequiredFieldValidator> </InsertItemTemplate> <ItemTemplate> <asp:Label runat="server" Text='<%# Bind("an_descr1")%>' ID="Label2"></asp:Label> </ItemTemplate> </asp:TemplateField> ...............
Dovrei provare a salvare la data nel viewstate e poi a ripristinarla nel detailsview.databound? Ma in quale momento la devo salvare nel viewstate? Se lo faccio nel selectedindexchanged del cliente la trovo già ripristinata, non mi legge il valore che ho inserito io come data....

Rispondi quotando