Classe personnalisée pour stocker les propriétés et de passer son instance à travers les pages - ASP.NET
-
26-09-2019 - |
Question
J'ai une exigence où je dois passer quelques objets à travers les pages. Donc, j'ai créé une classe personnalisée avec toutes les propriétés requises et a créé une instance de celui-ci et affecté toutes les propriétés de manière appropriée. Je mets alors cet objet lors de la session et il a fallu l'autre page.
Le problème est que même quand je définir les valeurs des propriétés à la classe qu'il arrive comme nulle. Je définir un point d'arrêt dans le getter-setter et a vu que la valeur elle-même vient comme nulle.
Code -
public class GetDataSetForReports
{
private Table m_aspTable;
private int m_reportID;
private string m_accountKey;
private string m_siteKey;
private string m_imUserName;
/// <summary>
/// Asp Table containing the filters
/// </summary>
public Table aspTable
{
get
{
return m_aspTable;
}
set
{
m_aspTable = aspTable;
}
}
/// <summary>
/// Report ID
/// </summary>
public int reportID
{
get
{
return m_reportID;
}
set
{
m_reportID = reportID;
}
}
/// <summary>
/// All the accounts selected
/// </summary>
public string accountKey
{
get
{
return m_accountKey;
}
set
{
m_accountKey = accountKey;
}
}
/// <summary>
/// All the sites selected
/// </summary>
public string siteKey
{
get
{
return m_siteKey;
}
set
{
m_siteKey = siteKey;
}
}
/// <summary>
/// Current User Name
/// </summary>
public string imUserName
{
get
{
return m_imUserName;
}
set
{
m_imUserName = imUserName;
}
}
}
Voici comment je crée une instance dans le page1 et d'essayer de l'obtenir dans le page2.
Code de Page1
//Add the objects to the GetDataSetForReports Class
GetDataSetForReports oGetDSForReports = new GetDataSetForReports();
oGetDSForReports.aspTable = aspTable;
oGetDSForReports.reportID = iReportID;
oGetDSForReports.accountKey = AccountKey;
oGetDSForReports.siteKey = Sitekey;
oGetDSForReports.imUserName = this.imUserName.ToString();
Mais les valeurs ne sont pas se régler du tout. Les valeurs ne passent pas à la classe (au setter) du tout. Est-ce que je fais une erreur POO?
Toutes les idées?
VSN
La solution
stupide et idiot. Il doit être « valeur » au lieu de la variable publique dans le setter.