2010-05-12 3 views
0

J'ai une exigence où je dois passer des objets sur les pages. J'ai donc créé une classe personnalisée avec toutes les propriétés requises et créé une instance de celle-ci et assigné toutes les propriétés de manière appropriée. J'ai ensuite mis cet objet dans la session et l'ai pris l'autre page.Classe personnalisée pour stocker les propriétés et transmettre son instance à travers les pages - ASP.NET

Le problème est que même lorsque je mets les valeurs de propriétés à la classe, elle est nulle. J'ai mis un point d'arrêt dans le getter-setter et j'ai vu que la valeur elle-même est 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.

Page1 Code de

//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 du tout à la classe (au setter). Suis-je faire une erreur OOP?

Des idées?

NLV

Répondre

0

Stupide et stupide. Il doit être 'valeur' ​​au lieu de la variable publique dans le setter.

+0

Mais quelqu'un peut-il me dire ce qu'est la «valeur»? – NLV

+0

Vous ne pouvez pas éditer votre question au lieu d'ajouter des informations comme réponse? Ce n'est pas une réponse, alors ne l'ajoutez pas comme un. – Oded

+0

Désolé. Alors, quelle devrait être la réponse? – NLV

Questions connexes