ページ間でいくつかのオブジェクトを渡す必要があるという要件があります。そこで、必要なすべてのプロパティを含むカスタム クラスを作成し、そのインスタンスを作成して、すべてのプロパティを適切に割り当てました。次に、そのオブジェクトをセッションに配置し、別のページに移動しました。
問題は、プロパティ値をクラスに設定しても、null になることです。getter-setter にブレークポイントを設定したところ、値自体が null になっていることがわかりました。
コード -
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;
}
}
}
これは、page1 でインスタンスを作成し、page2 で取得しようとする方法です。
ページ1コード
//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();
しかし、値はまったく設定されていません。値はクラス (セッター) にまったく渡されていません。私はOOPの失敗を犯していますか?
何か案は?
NLV