gpt4 book ai didi

c# - DataRow 的空引用

转载 作者:行者123 更新时间:2023-11-30 22:30:05 25 4
gpt4 key购买 nike

我在此代码行中得到一个空引用:

 **DataRow dr = tableSelectedItems.NewRow();**

我不知道为什么。谁能帮帮我吗?我的代码应该填写用户在数据列表中选择的书籍。这是为了学习Sessionstate是如何工作的。我使用了德文版的“ASP.NET 3.5 Step by Step”一书。我和他们有完全相同的代码,但我使用的是 .net 4.0 而不是 3.5。可以请有人帮助我吗?DatalistItemdCommand 的全部代码为:

      protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
int nItemIndex = e.Item.ItemIndex;
this.DataList1.SelectedIndex = nItemIndex;

BindToinventory();

//Row's Order: ID, Title, FirstName, LastName, Topic, Publisher

DataTable dt = (DataTable)DataList1.DataSource;
string strID = (dt.Rows[nItemIndex][0]).ToString();
string strTitle = (dt.Rows[nItemIndex][1]).ToString();
string strAuthorLastName = (dt.Rows[nItemIndex][2]).ToString();
string strAuthorFirstName = (dt.Rows[nItemIndex][3]).ToString();
string strTopic = (dt.Rows[nItemIndex][4]).ToString();
string strPublisher = (dt.Rows[nItemIndex][5]).ToString();

DataTable tableSelectedItems;
tableSelectedItems = (DataTable)Session["tableSelectedItems"];

//Null Reference is here
DataRow dr = tableSelectedItems.NewRow();
dr[0] = strID;
dr[1] = strTitle;
dr[2] = strAuthorLastName;
dr[3] = strAuthorFirstName;
dr[4] = strTopic;
dr[5] = strPublisher;

tableSelectedItems.Rows.Add(dr);

Session["tableSelectedItems"] = tableSelectedItems;

this.GridView1.DataSource = tableSelectedItems;
this.GridView1.DataBind();
}
}

最佳答案

您尝试使用 session 而不首先为其设置一个值/或者此 session 的值不是相同的数据类型。我建议更改为此代码:

DataTable tableSelectedItems;
object otabSelItems = Session["tableSelectedItems"];

if(otabSelItems is DataTable)
tableSelectedItems = (DataTable)otabSelItems;
else
tableSelectedItems = new DataTable();

您必须牢记,如果用户没有设置 cookie 启用,或者 session 超时,此变量将始终为 null。

如果 cookie 关闭,为什么 session 将始终为空?因为 session 变量与 cookie 相关联。如果用户关闭了 cookie,那么在每次重新加载时都会创建一个新的 cookie,应用程序无法知道之前的 cookie,也无法将之前的 session 连接到该用户并创建新的 session 。

关于c# - DataRow 的空引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9870105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com