我叫一个私人的,序列化的自定义对象类结果我的命名空间中,我用它来存储文件上传/服务器推送的结果:自定义对象类不能与ViewState的持续
namespace DataUploadTool
{
enum errors {none, format, data, type, unk};
public partial class uploader : System.Web.UI.Page
{
private results res;
[Serializable]
private class results
{
public string errLogPath { get; set; }
public string fileName { get; set; }
public int errorType { get; set; }
public int rowsImported { get; set; }
public DateTime startTime { get; set; }
public DateTime endTime { get; set; }
}
...
}
我设置在我的代码的标准方式对象的成员,即 res.fileName = fileUpload.FileName;
等
我的对象添加到ViewState的:
void Page_PreRender(object sender, EventArgs e)
{
ViewState.Add("resultsLog", res);
}
我试图检索它像这样:
protected void Page_Load(object sender, EventArgs e)
{
res = new results();
if (IsPostBack)
{
if (ViewState["resultsLog"] != null)
{
results test;
test = (results)ViewState["resultslog"];
error.Text = test.rowsImported.ToString();
}
else // Do things
}
}
的问题是我一直就行了error.Text = test.rowsImported.ToString();
得到的NullReferenceException。
Visual Studio中内置的数据可视化工具告诉我,测试在从ViewState检索到的行后面为null,它根本没有任何意义,因为它被if声明!我完全丧失了这种情况发生的原因或原因。
任何帮助表示赞赏!
上帝这个网站已经下山如此艰难。 – Answoquest