C# 如何在asp.net中维护表的状态
我正在尝试将csv文件数据上载到DB。 过程如下: 我正在将csv文件数据提取到DataTable 正在验证数据表字段。 如果一切正常,单击按钮将其加载到数据库中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
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方法。那么这是一个好的设计吗?我的意思是嵌套许多方法?我不认为这是最好的设计,但函数是为被调用而设计的,所以我认为从另一个函数内部调用它没有任何问题。