Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp.net中维护表的状态_C#_Asp.net - Fatal编程技术网

C# 如何在asp.net中维护表的状态

C# 如何在asp.net中维护表的状态,c#,asp.net,C#,Asp.net,我正在尝试将csv文件数据上载到DB。 过程如下: 我正在将csv文件数据提取到DataTable 正在验证数据表字段。 如果一切正常,单击按钮将其加载到数据库中 protected void ValidateData_Click(object sender, EventArgs e) { ValidateCsv(); } private void ValidateCsv(string fileContent) { DataTable getCSVData; getC

我正在尝试将csv文件数据上载到DB。 过程如下:

我正在将csv文件数据提取到DataTable

正在验证数据表字段。 如果一切正常,单击按钮将其加载到数据库中

protected void ValidateData_Click(object sender, EventArgs e)
{
    ValidateCsv();
}

private void ValidateCsv(string fileContent)
{

    DataTable getCSVData;
    getCSVData = GetData(fileContent);
    invTable= Validate(getCSVData);
}
我通过单击“验证”按钮传递保存的csv文件路径,以下面的验证方法生成invTable

protected void ValidateData_Click(object sender, EventArgs e)
{
    ValidateCsv();
}

private void ValidateCsv(string fileContent)
{

    DataTable getCSVData;
    getCSVData = GetData(fileContent);
    invTable= Validate(getCSVData);
}
如果我在单击时加载它,invTable为空。 理想情况下,它应该有数据,如ValidateCsv方法中所述

  protected void BulkUpload_Click(object sender, EventArgs e)
    {
        MatchedRecords(invTable);
    }

知道如何在回发过程中维护invTable数据吗?

将您的
ValidateCsv
更改为函数

private DataTable ValidateCsv(string fileContent)
{

    DataTable getCSVData;
    getCSVData = GetData(fileContent);
    invTable = Validate(getCSVData);

    return invTable;
}
然后在
MatchedRecords
上,修改它以接受
DataTable
参数

private void MatchedRecords(DataTable invTable) {

}
然后在
BulkUpload\上单击
事件,参考
ValidateCsv
,现在是一个将
DataTable
的值返回到
MatchedRecords
void的函数

protected void BulkUpload_Click(object sender, EventArgs e)
{
    MatchedRecords(ValidateCsv('enter how you get the fileContent here...'));
}


“你知道如何在回传中维护可移植数据吗?”考虑一下发生了什么事情,比如你的表消失了吗?何时之后?@CurseStacker yep,匹配的记录(invTable);invTable正在变为空。请编辑您的问题并从中详细说明。哪一行代码引用invTable并返回空错误?@CurseStacker,刚刚编辑了它。invTable声明在哪里?谢谢,是的,这是另一种方式。ValidateCsv还调用GetData和Validate方法。那么这是一个好的设计吗?我的意思是嵌套许多方法?我不认为这是最好的设计,但函数是为被调用而设计的,所以我认为从另一个函数内部调用它没有任何问题。