ASP.NET Корзина - PullRequest
       11

ASP.NET Корзина

0 голосов
/ 07 февраля 2011

Я нахожусь в процессе создания очень простой корзины покупок в asp.net с бэкэндом VB, но у меня возникают проблемы с моим кодом.Когда я запускаю свое приложение и пытаюсь добавить товар в корзину, я получаю сообщение об ошибке.

Object reference not set to an instance of an object. 

Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Сведения об исключении: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.

Ошибка источника:

Line 27:         Dim blnMatch As Boolean = False
Line 28: 
Line 29:         For Each Me.objDR In objDT.Rows
Line 30:             If objDR("StockItemName") = Product Then
Line 31:                 objDR("Quantity") += txtQuantity.Text

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

Вот мой код.

Shoppingcart.aspx

<asp:DropDownList id="ddlProducts" runat="server">

Носки Брюки Рубашка ШляпаКоличество:Итого:

Shoppingcart.aspx.vb Импортирует System.Data Частичная открытая корзина Унаследовано от System.Web.UI.Page *.

1 Ответ

0 голосов
/ 16 февраля 2011

Я скопировал твой код, несколько раз проверил его и создал.На начальной странице загрузки сеанса («Корзина») ничего нет.Причинение ошибки Ссылка на объект при добавлении нового столбца в DataTable.

Установка вашей DataTable равной Session («Корзина») следующим образом:

objDT = CType(Session("Cart"), DataTable)

не даст ему ничего.Вместо этого сделайте это при начальной загрузке страницы:

objDT = New Data.DataTable

После того, как Session («Корзина») был установлен, вы можете установить datatable равным Session («Cart»), как вы делали раньше.

Вся функция:

Function makeCart()
    objDT = New Data.DataTable
    objDT.Columns.Add("StockID", GetType(Integer))
    objDT.Columns("StockID").AutoIncrement = True
    objDT.Columns("StockID").AutoIncrementSeed = 1

    objDT.Columns.Add("StockItemName", GetType(String))
    objDT.Columns.Add("StockItemValue", GetType(Decimal))
    Session("Cart") = objDT
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...