sssii... ci proverò...
Dunque, vediamo... si tratta di questo:
in ossequio al principio di separazione del codice la pagina pippo.aspx è così concepita:
codice:
<script language="c#" src="globalSettings.cs"></script>
<script language="c#" src="pippo.aspx.cs"></script>
<html>
[bla/] [bla/] [bla/]
</html>
nel globalSettings.cs ci stanno tutti i necessari parametri fi configurazione del sito (e-mail, radice del sito, stringa di connessione al db, ecc).
nel pippo.aspx.cs ci sta il codice necessario al funzionamento della pagina.
ora... per far funzionare l'intellisense con lo strumento che uso io, lo sharp develop, devo scrivere il codice di pippo.aspx.cs in questo modo:
codice:
public class index_class
{
public string lang = "";
global_settings mySettings = new global_settings();
gen_func myFunc = new gen_func();
System.Web.UI.Control myCtrl = (System.Web.UI.Control) System.Web.HttpContext.Current.Handler;
public void get_page() {
}
}
protected void Page_Load(Object sender, EventArgs e) {
index_class page_ist = new index_class();
page_ist.get_page();
}
è, naturalmente, un modo stupido di lavorare, ma è l'unico compromesso che sono riuscito a trovare per sviluppare applicazioni web con lo sharp develop (che è nato con tutt'altri obbiettivi).
Qual'è il punto? Il punto è che all'interno della funzione get_page debbo essere in grado di manipolare gli oggetti lato sever della pagina...
Ad esempio, se nella pagina è definito un oggetto
<asp:Label id="pippo_label" CssClass="ver10B" Text="" runat="server"/>
vorrei poter essere ingrado di manipolarlo e, nello stesso tempo, accedere alle sue proprietà mediante l'intellisense che mi fornisce lo sharp develop.
sarebbe bello, pertanto, poter accedere alla proprietà Text dell'oggetto (ad esempio) utilizzando, che so, una gerarchia di oggetti come questa:
codice:
ASP.pippo_class.pippo_label.Text = "ciao, Pippo";
invece non riesco a "trovare" il namespace ASP e sono costretto ad aggirare l'ostacolo in questo modo:
codice:
System.Web.UI.Control myCtrl = (System.Web.UI.Control) System.Web.HttpContext.Current.Handler;
System.Web.UI.WebControls.Label g_pippo_label = ((System.Web.UI.WebControls.Label)myCtrl.FindControl("pippo_label"));
g_pippo_label.Text = "ciao, Pippo";
Spero di essere stato abbastanza chiaro. In ogni caso ti ringrazio ancora per l'attenzione e l'aiuto.
Francesco.