Я настраиваю музыкальный магазин MVC под свои нужды в MVC3. Единственное, что у меня зависает, это когда они отслеживают CartID как строку имени пользователя, я хочу отслеживать его через userID, поскольку у нас не будет имен пользователей. В любом случае, у меня проблемы с этой функцией:
public int GetCartId(HttpContextBase context)
{
if (context.Session[CartSessionKey] == null)
{
if (context.Session["UserID"] != null)
{
context.Session[CartSessionKey] = context.Session["UserID"];
}
else
{
//Generate a new random GUID using System.Guid class
Guid tempCartId = Guid.NewGuid();
//Send tempCartId back to client as a cookie
context.Session[CartSessionKey] = tempCartId;
}
}
return context.Session[CartSessionKey];
}
Где я получаю ошибку
"Ошибка 20 Не удается неявно преобразовать тип 'object' в 'int'. Существует явное преобразование (вы пропустили приведение?)"
Я понимаю, что context.Session[CartSessionKey]
это объект, а не int, но я не знаю лучший способ:
A) Конвертировать все эти вещи, чтобы использовать Ints вместо GUID и сессий, или
B) Если это плохой способ сделать это, как я могу улучшить свой код, чтобы более правильно назначить случайное int для cartID, если пользователь не вошел в систему.
Спасибо!