有没有办法直接到页面WHERE会话等于使用C#和HTML的东西

时间:2015-05-17 07:30:22

标签: c# html asp.net

我正在制作一个类别目录,而当我按下“电视”链接时,我正试图这样做,它将把我给“电视”类别的会话带到“TV”的所有产品”

以下是示例:

我的ACCESS数据库中有一个包含“categoriesId”和电视ID的类别表:1

以下是HTML代码:

<a class="dropdown-toggle" data-toggle="dropdown" href="#">Categories <span class="caret"></span></a>

                              <ul class="dropdown-menu">
                                    <li><a href=>Televisions</a></li>
                                    <li><a href="#">Desktops</a></li>
                                    <li><a href="#">refrigerators</a></li>
                                    <li><a href="#">For Kitchen</a></li>
                                    <li><a href="#">air conditioners</a></li>
                                    <li><a href="#">Washing machines and dryers</a></li>
                                    <li><a href="#">Laptops</a></li>
                                
                                </ul>
                            
                            </li>

我想要当我按下“电视”时,它会引导我进入产品。

这是我的C#代码:

Session["category"] = 1;
    Response.Redirect("ShowProducts.aspx");

在“产品”页面中有以下代码:

 int idCat = int.Parse(Session["Category"].ToString());


            dt = ProductsService.GetProductsByCategory(idCat);
            GridView1.DataSourceID = "";
            GridView1.DataSource = dt;
            GridView1.DataBind();

我不知道应该怎么做才能将下拉菜单的HTML代码与C#结合起来。

你能帮帮我吗?

非常感谢。

3 个答案:

答案 0 :(得分:1)

您的代码没有问题,会话未过期,因此您可以再次看到登录按钮,关闭浏览器并再次打开它,或重新启动iis / iis Express并重试

同样如果您执行了注销,请确保删除UserId会话

Session.Remove("UserID")

答案 1 :(得分:0)

您必须使用JavaScript才能实现此目的。这里有一个工作示例,它向您展示了实现此目的的步骤。

https://code.msdn.microsoft.com/How-to-clear-session-when-660c1e6b

此外,您可以使用会话超时来保持会话在短时间内保持活动状态。

答案 2 :(得分:0)

在注销时没有必要清除会话变量bcos会话没有持续..只有注销完成..所以在注销时清除会话会更好..

Session.Remove("UserID");
Session.Clear(); 
Session.Abandon(); 
在注销和检查期间