come fare riferimento a oggetti pubblici da altre pagine ASP.NET
Domanda
Come possiamo accedere e fare riferimento a classi e variabili in diverse pagine in ASP.NET? Nella versione 2003, era semplice, basta fare riferimento al nome della classe della pagina e l'intera pagina diventa al tuo comando, ma con i siti Web anziché le applicazioni Web, ciò non sembra essere il caso. Ho una cartella App_Code, con una classe che ha la seguente stringa definita:
public string GetPath()
{
return mypage.thisUrl;
}
e un'altra pagina simile a questa:
public partial class mypage : System.Web.UI.Page
{
public string thisUrl
{
get { return "/newfolder/mypage.aspx"; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
ma ovviamente non funziona ... sarebbe bello se qualcuno potesse indirizzarmi a una buona fonte di conoscenza mentre provavo MSDN, questo sito e Google, e ho anche un libro seduto accanto a me, che trova il tuo aggirare non è facile :(
Soluzione
Avresti bisogno di un'istanza della classe mypage o rendere statico questoUrl.
Non è una buona idea rendere le pagine dipendenti l'una dall'altra come quella IMHO
public partial class mypage : System.Web.UI.Page
{
public static string thisUrl
{
get { return "/newfolder/mypage.aspx"; }
}
}
public partial class mypage : System.Web.UI.Page
{
... Page_Load() {
mypage.thisUrl
or
new mypage().thisUrl
}
}
Altri suggerimenti
public string GetPath()
{
return mypage.thisUrl;
}
non sembra una classe. Forse questo è il tuo problema in primo luogo. Sembra che dovresti ricevere una formazione di base sui laboratori virtuali da Microsoft.