Ciao a tutti!
Devo creare un PopUp che restituisca dei valori alla pagina "padre" dopo aver cliccato sul solito pulsante ok.
Qualcuno misa dare una dritta?
Sicuramente ci sarà un modo per non dover utilizzare javascript!

Ciao e grazie!
se non vuoi utilizzare javascrpt devi eseguire il postbackquando apri la popup
se non è un problema puoi usare il panel così

<asp:panel id=PanelCalendar
style="Z-INDEX: 101; LEFT: 0px; POSITION: absolute; TOP: 0px" Width="145px" Height="86px" Runat="server"> all'interno il codice necessatio </asp:panel>

e poi gestire la visualizzazione del panel

nel codebehind

if (ViewState["CalState"] == null)
{
//se nel viewstate non è salvato lo stato attuale della visualizzazione

PanelCalendar.Visible = false;
}
else
{
//se esiste un salvataggio dello stato della visualizzazione nel
//viewstate applicalo al caledario
PanelCalendar.Visible = ((bool)ViewState["CalState"]);
}

ps. PanelCalendar è un usercontrol che consiste nel panel che ti ho descritto e di un controllo calendario inserito al suo interno

spero di essere stato chiamo

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Si, ma come faccio a gestire il ritorno dei valori?
ammetto che è un pò artigianale ma funziona :) ti speigo più o meno quello che fa
nella pagina padre ho un link che visualizza il calendario (per inciso è un user control con un panel che contiene il calendario)

quando clicco viene visualizzato dopo il postback il calendario cliccando su una data richiamo il metodo SelectDate che cerca il controllo per nome (memorizzato in Calendar.attributes) quando alla fine lo trova :

prova.Text = Calendar.SelectedDate.ToShortDateString();

public void SelectDate(Object sender, EventArgs e)

{//prova a cercare il controllo nella pagina
TextBox prova = (TextBox)Page.FindControl(Calendar.Attributes["sOutputControl"]);
//se non lo torva
if (prova == null)
{
//cerca in ogni controllo della pagina
foreach( System.Web.UI.Control s in Page.Controls)
{

//se il controllo ha figli
if (s.HasControls())
{
//per ogni figlio
for (int i=0; i < (s.Controls.Count); i++)
{
//controlla il tipo, se è un datagrid
if ((s.Controls[i].GetType()).FullName == "System.Web.UI.WebControls.DataGrid")
{
//per ogni item
for (int ii=0; ii < ((System.Web.UI.WebControls.DataGrid)s.Controls[i]).Items.Count; ii++)
{
//cerca il controllo
prova = (TextBox)((System.Web.UI.WebControls.DataGrid)s.Controls[i]).Items[ii].FindControl(Calendar.Attributes["sOutputControl"]);
}

}

}

}
else
{//se non ha figli cerca dentro di lui
if (prova == null)
{
prova = (TextBox)s.FindControl(Calendar.Attributes["sOutputControl"]);
}
}
}
}
//assegna la data selezionata
prova.Text = Calendar.SelectedDate.ToShortDateString();
//nasconde il calendario dopo la selezione
CalendarVisibility("sOutputControl");

}

se vuoi magari ti invio le pagine necessarie (sono un aspx ed un cotrollo)

xiaaooz

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Te ne sarei grato.
ciao e grazie ancora.
indirizzo di posta?

xiaaooz

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Grazie mille, mi sei stato di aiuto!
ciao, alla prox.
di niente


xiaaoooz

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.