【发布时间】:2014-11-15 00:31:02
【问题描述】:
我之前用 PHP 做过这个,现在我想用 C# 做这个。我想我可能走在正确的轨道上,但在此过程中出了点问题。
我有一个“创建订单”页面,其中包含用户想要购买的一篮子商品。在此页面上,他们可以按名称或 sku 搜索产品,如果他们输入了有效的内容,则会显示结果的网格视图。然后他们可以导航到添加/更新页面,在那里他们可以将新产品添加到购物篮或编辑/更新已经存在的产品。这会将他们带回购物篮页面。
在“创建订单”页面上,我正在根据是否在 url 查询字符串中找到购物车 ID 来设置一个带有购物车 ID 的会话变量:
protected void CreateSessionVariable()
{
string session = "";
if (Request.QueryString["CartID"] != "" & Request.QueryString["CartID"] != null)
{
session = Request.QueryString["CartID"];
Session["CartValue"] = session;
}
else
Session["CartValue"] = "";
}
然后我称之为 Page_Load 函数:
if (!Page.IsPostBack)
{
BindBasketGrid();
//call function
if (Session["CartValue"] != "" & Session["CartValue"] != null)
{
string CartCode = Request.QueryString["CartID"];
CartIDLbl.Visible = true;
CartIDLbl.Text += CartCode;
}
else
CreateSessionVariable();
}
在添加/更新页面的 Page_Load 中,这就是我所调用的(它在 !Page.IsPostBack 中调用:
if (Session["CartValue"] != "" & Session["CartValue"] != null)
{
string CartCode = Session["CartValue"].ToString();
CartIDLbl.Visible = true;
CartIDLbl.Text += CartCode;
}
事情运行了一会儿——会话变量成功地从“创建订单”页面传递到“添加/更新”页面。但是,当返回创建订单页面时,不再设置会话变量。
我是不是设置不正确?
【问题讨论】:
-
在 Patrick 的回答之上,您的第一个代码块中的
Else语句缺少右括号,第二个代码块中的Else块缺少右括号。跨度>