В экземпляре объекта не задана ссылка на объект. В ASP.NET [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 В экземпляре объекта не задана ссылка на объект. В ASP.NET [дубликат]

Сообщение Anonymous »

Я создаю интернет-магазин для школьного проекта и столкнулся с этой проблемой, когда дошел до добавления продукта в корзину части элемента.
В Visual Studio не отображается никаких ошибок, но когда я запускаю его в веб-браузере, он не работает и показывает эту ошибку:

Sys.WebForms.PageRequestManagerServerErrorException: ссылка на объект не установлен экземпляр объекта.

Я пытаюсь получить ProductID моих товаров в моем списке продуктов и думаю, что в этой части что-то не так.
Это мой код:
string ProductID = Convert.ToInt32((((Button)sender).CommandArgument)).ToString();
string ProductQuantity = "1";

DataListItem currentItem = (sender as Button).NamingContainer as DataListItem;
Label lblavailablestock = currentItem.FindControl("lblavailablestock") as Label;
if (Session["MyCart"] != null)
{
DataTable dt = (DataTable)Session["MyCart"];
var checkproduct = dt.AsEnumerable().Where(r => r.Field("ProductID")== ProductID);
if(checkproduct.Count() == 0)

{
string query = "select * from Products where ProductID = " + ProductID + "";
DataTable dtproducts = GetData(query);

DataRow dr = dt.NewRow();
dr["ProductID"] = ProductID;
dr["Name"] = Convert.ToString(dtproducts.Rows[0]["Name"]);
dr["Description"] = Convert.ToString(dtproducts.Rows[0]["Description"]);
dr["Price"] = Convert.ToString(dtproducts.Rows[0]["Price"]);
dr["ImageUrl"] = Convert.ToString(dtproducts.Rows[0]["ImageUrl"]);
dr["ProductQuantity"] = ProductQuantity;
dr["AvailableStock"] = lblavailablestock.Text;
dt.Rows.Add(dr);

Session["MyCart"] = dt;
lblitems.Text = dt.Rows.Count.ToString();

}
}
else
{
string query = "select * from Products where ProductID = " + ProductID + "";
DataTable dtproducts = GetData(query);

DataTable dt = new DataTable();

dt.Columns.Add("ProductID", typeof(string));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Description", typeof(string));
dt.Columns.Add("Price", typeof(string));
dt.Columns.Add("ImageUrl", typeof(string));
dt.Columns.Add("ProductQuantity", typeof(string));
dt.Columns.Add("AvailableQuantity", typeof(string));

DataRow dr = dt.NewRow();
dr["ProductID"] = ProductID;
dr["Name"] = Convert.ToString(dtproducts.Rows[0]["Name"]);
dr["Description"] = Convert.ToString(dtproducts.Rows[0]["Description"]);
dr["Price"] = Convert.ToString(dtproducts.Rows[0]["Price"]);
dr["ImageUrl"] = Convert.ToString(dtproducts.Rows[0]["ImageUrl"]);
dr["ProductQuantity"] = ProductQuantity;
dr["AvailableStock"] = lblavailablestock.Text;
dt.Rows.Add(dr);

Session["MyCart"] = dt;
}

Мой исходный код:



Подробнее здесь: https://stackoverflow.com/questions/327 ... in-asp-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»