Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Postback di textbox non eseguito all'interno di una gridview
sabato 14 aprile 2012 - 09.58
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
vankraster
Profilo
| Newbie
49
messaggi | Data Invio:
sab 14 apr 2012 - 09:58
Ho una gridview con una textbox dentro, il tutto compresso in un UpdatePanel vi posto sotto il Codice, il problemma è che non vienne generato il postback o almeno non vienne chiamato l'event handler "txtAcconto_TextChanged" di OnTextChanged. Vi dico anche che la pagina e una WebForm Mediante Pagina Master (Si intuisce dal MasterPageFile="~/Master.Master"), la stranezza è che questo codice su un'altra pagina mi genera il postback, ma in questa pagina nulla da fare, ho provato ogni cosa anche [ CausesValidation ] ma nulla. Tutto funziona corettemente tranne quello, vi prego aiutatemi.
<%@ Page Title="" Language="C#" MasterPageFile="~/Master.Master" AutoEventWireup="true"
CodeBehind="Ordini_dett.aspx.cs" Inherits="Ebalux.Ordini_dett" %>
....
...
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<%@ Register Src="Progress.ascx" TagName="Progress" TagPrefix="uc2" %>
<asp:UpdateProgress ID="upProgress" runat="server">
<ProgressTemplate>
<uc2:Progress ID="Progress1" runat="server" />
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpPanel" runat="server">
<ContentTemplate>
<asp:GridView ID="grdClienti" runat="server" AutoGenerateColumns="false" Font-Size="small"
RowStyle-Height="25" PageSize="20" AllowPaging="true" HeaderStyle-ForeColor="black"
HeaderStyle-BackColor="DarkGray" Width="990px" BackColor="White" OnRowCreated="grdAziende_RowCreated"
OnSelectedIndexChanging="grdAziende_SelectedIndexChanging"
onrowdatabound="grdClienti_RowDataBound">
<Columns>
...
<asp:TemplateField HeaderText="% Acc.">
<ItemTemplate>
<asp:TextBox ID="txtAcconto" AutoPostBack="true" OnTextChanged="txtAcconto_TextChanged"
CssClass="textbox_inGrid" runat="server" Text='<%# Eval("PercentualeAcconto") %>'></asp:TextBox>
<asp:FilteredTextBoxExtender ID="FLT_txtAcconto" runat="server" TargetControlID="txtAcconto"
ValidChars="0123456789,">
</asp:FilteredTextBoxExtender>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="50" />
</asp:TemplateField>
...
</gridview>
</ContentTemplate>
</asp:UpdatePanel>
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
sab 14 apr 2012 - 10:23
prova a cercare la textbox con findcontrol nell'evento 'RowCreated' del gridview.
una volta trovato il controllo puoi provare a 'registrarlo' (sempre all'interno dell'evento) o nella collection Triggers dell'update panel oppure direttamente nello script manager.
io di solito faccio queste operazioni con i listview ma dovrebbe essere lo stesso anche con il gridview.
Andrea Restucci - Web Developer
vankraster
Profilo
| Newbie
49
messaggi | Data Invio:
mar 24 apr 2012 - 14:26
Mi dispiace che ti risponda così tardi, il problemma consisteva che io riempivo sempre il gridview anche quando veniva eseguito un postback, ho risolto modificando il codice da Page_Load così:
.....
if (!ispostback) {
//Codice per riempire gridview
}
.......
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
mar 24 apr 2012 - 22:57
sinceramente non ho ben capito, io di solito i controlli come il gridview li riempo in automatico tramite i template e non a mano nell'evento PageLoad, al massimo faccio qualche iterazione negli eventi appositamente progettati per interagire con i controlli contenuti nei template, (itemCreated itemDataBound... ) comunque se hai risolto allora meglio così...
Andrea Restucci - Web Developer
Torna su
Stanze Forum
Elenco Threads
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 !