Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 17 kết quả

Đề tài: ẩn giỏ hàng khi chưa đăng nhập vào trang web như thế nào?

  1. #1
    Ngày gia nhập
    04 2011
    Bài viết
    31

    Mặc định ẩn giỏ hàng khi chưa đăng nhập vào trang web như thế nào?

    Em đang làm project về bán hàng, em muốn khi người dùng chưa đăng nhập vào trang web thì giỏ hàng sẽ ẩn đi, khi nào đăng nhập vào thì giỏ hàng sẽ hiện ra để người dùng có thể sử dụng. Nhờ các anh giúp em với. Em xin cãm ơn trước

  2. #2
    Ngày gia nhập
    10 2009
    Nơi ở
    Close All
    Bài viết
    993

    Trích dẫn Nguyên bản được gửi bởi lytieuchieu Xem bài viết
    Em đang làm project về bán hàng, em muốn khi người dùng chưa đăng nhập vào trang web thì giỏ hàng sẽ ẩn đi, khi nào đăng nhập vào thì giỏ hàng sẽ hiện ra để người dùng có thể sử dụng. Nhờ các anh giúp em với. Em xin cãm ơn trước
    bạn dùng sesion để check. Nếu có session ( cho biết đã login) thì hiẹn ra ,không thì không hiện ra.
    ASP thì mình không biết.Chỉ biết PHP . đây là ví dụ đơn giản bên php:
    PHP Code:
    1. <?php
    2.    if(isset($_SESSION['user'])&&!empty($_SESSION['user']))
    3.    {
    4.         // show đoạn mã php,html... liên quan đến giở hàng lên.
    5.    }else // không hiện giỏ hàng ,vì chưa đang nhập
    6. ?>

  3. #3
    Ngày gia nhập
    04 2011
    Bài viết
    31

    Trích dẫn Nguyên bản được gửi bởi tauit_dnmd Xem bài viết
    bạn dùng sesion để check. Nếu có session ( cho biết đã login) thì hiẹn ra ,không thì không hiện ra.
    ASP thì mình không biết.Chỉ biết PHP . đây là ví dụ đơn giản bên php:
    PHP Code:
    1. <?php
    2.    if(isset($_SESSION['user'])&&!empty($_SESSION['user']))
    3.    {
    4.         // show đoạn mã php,html... liên quan đến giở hàng lên.
    5.    }else // không hiện giỏ hàng ,vì chưa đang nhập
    6. ?>
    Em cảm ơn để em làm thử

  4. #4
    Ngày gia nhập
    06 2010
    Bài viết
    490

    trong asp thì cái giỏ hàng của bạn thiết kế VD: bạn sử dụng datalist để hiển thị dữ liệu lên giỏ hàng, giờ bạn bỏ datalist vào cái penal rồi kiểm tra điều kiện của người dùng, mà cho ẩn cái penal.enable=true or false
    Hãy bình tĩnh giải quyết mọi vấn đề.

  5. #5
    Ngày gia nhập
    04 2011
    Bài viết
    31

    Anh giải thích cụ thể hơn 1 chút được không ạh

  6. #6
    Ngày gia nhập
    06 2011
    Bài viết
    13

    Mặc định ẩn giỏ hàng khi chưa đăng nhập vào trang web như thế nào?

    cho cái giỏ hàng vào cái panel (ví dụ id="panel1") hoặc cái gì dạng container.

    kiểm tra user đã đăng nhập chưa, cái này chắc chắn là bạn làm được (ko làm được thì khỏi làm cái bước sau)

    if (<dk kiểm tra đăng nhập>==true)
    panel1.visible = false;// ẩn đi
    else
    panel1.visible = true;// Hiện ra

    Enjoy!

  7. #7
    Ngày gia nhập
    05 2011
    Nơi ở
    ...loading...
    Bài viết
    205

    Mình nghĩ bạn không cần phải hide cái giỏ hàng đi. Cách mình thường làm kiểm tra nếu chưa login thì set cho nó 0 item 0 price. Còn nếu đã đăng nhập thì visible thông tin giỏ hàng
    MySkill Cần sự chung tay của tất cả các bạn
    http://forums.congdongcviet.com/show...613#post268613

  8. #8
    Ngày gia nhập
    04 2011
    Bài viết
    31

    Trích dẫn Nguyên bản được gửi bởi kunnau127 Xem bài viết
    cho cái giỏ hàng vào cái panel (ví dụ id="panel1") hoặc cái gì dạng container.

    kiểm tra user đã đăng nhập chưa, cái này chắc chắn là bạn làm được (ko làm được thì khỏi làm cái bước sau)

    if (<dk kiểm tra đăng nhập>==true)
    panel1.visible = false;// ẩn đi
    else
    panel1.visible = true;// Hiện ra

    Enjoy!
    EM cho Panel vào giao diện rồi, nhưng bên phần code cs nó lại không hiện lên

    Đây là giao diện:
    <%@ Page Title="" Language="C#" MasterPageFile="~/MyMasterPage.Master" AutoEventWireup="true" CodeBehind="Detail.aspx.cs" Inherits="webHuong.Detail" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:OnlineShoppingConnectionString %>"
    SelectCommand="SELECT * FROM [ProductDetail] WHERE ([PrID] = @PrID)">
    <SelectParameters>
    <asp:QueryStringParameter DefaultValue="101" Name="PrID"
    QueryStringField="ProID" Type="Int32" />
    </SelectParameters>
    </asp:SqlDataSource>
    <aspataList ID="DataList1" runat="server" DataKeyField="PrID"
    DataSourceID="SqlDataSource1" onitemcommand="DataList1_ItemCommand">
    <ItemTemplate>
    <table style="width:100%;">
    <tr>
    <td>
    <asp:Image ID="Image1" runat="server" Height="100px"
    ImageUrl='<%# "Images/" + Eval("Image") %>' Width="100px" />
    </td>
    <td>
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
    </td>
    <td>
    &nbsp;</td>
    </tr>
    <tr>
    <td>
    Description:</td>
    <td>
    <asp:Label ID="Label1" runat="server" Text='<%# Eval("PrDescription") %>'></asp:Label>
    </td>
    <td>
    &nbsp;</td>
    </tr>
    <tr>
    <td>
    <asp:Panel ID="Panel1" runat="server">
    <asp:LinkButton ID="LinkButton1" runat="server"
    CommandArgument='<%# Eval("PrID") %>'>Add to cart</asp:LinkButton>
    </asp:Panel>
    </td>
    <td>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </td>
    <td>
    &nbsp;</td>
    </tr>
    </table>
    <br />
    </ItemTemplate>
    </aspataList>
    </asp:Content>
    Còn đây là code thực thi:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Configuration;
    using System.Data.SqlClient;
    using System.Data;

    namespace webHuong
    {
    public partial class Detail : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
    {

    string PrId = e.CommandArgument.ToString();
    int qty = int.Parse(((TextBox)e.Item.FindControl("TextBox1") ).Text);
    string connstring = ConfigurationManager.ConnectionStrings["OnlineShoppingConnectionString"].ConnectionString;
    SqlConnection conn = new SqlConnection(connstring);
    SqlCommand comm = new SqlCommand("select * from dbo.ProductDetail where PrID = @PrID",conn);
    comm.Parameters.AddWithValue("@PrID", PrId);
    conn.Open();
    SqlDataReader sdr = comm.ExecuteReader();
    if (sdr.HasRows)
    {
    sdr.Read();
    string PrName = sdr["PrName"].ToString();
    string PrDescription = sdr["PrDescription"].ToString();
    string Image = sdr["Image"].ToString();
    double Rate = double.Parse(sdr["Rate"].ToString());

    //check session
    if (Session["ShoppingCart"] == null)
    {
    DataTable dt = new DataTable();
    dt.Columns.Add("PrID", typeof(int));
    dt.Columns.Add("PrName", typeof(string));
    dt.Columns.Add("PrDescription", typeof(string));
    dt.Columns.Add("Image", typeof(string));
    dt.Columns.Add("Rate", typeof(double));
    dt.Columns.Add("Quantity", typeof(int));
    dt.Constraints.Add("pk_PrId", dt.Columns[0], true);
    Session["ShoppingCart"] = dt;
    }

    DataRow dr = ((DataTable)Session["ShoppingCart"]).NewRow();
    dr["PrID"] = PrId;
    dr["PrName"] = PrName;
    dr["PrDescription"] = PrDescription;
    dr["Image"] = Image;
    dr["Rate"] = Rate;
    dr["Quantity"] = qty;

    bool hasThisProduct = false;
    for (int rowId = 0; rowId < ((DataTable)Session["ShoppingCart"]).Rows.Count; rowId++)
    {
    if (((DataTable)Session["ShoppingCart"]).Rows[rowId]["PrId"].ToString() == dr["PrId"].ToString())
    {
    int rowQty = int.Parse(((DataTable)Session["ShoppingCart"]).Rows[rowId]["Quantity"].ToString());
    ((DataTable)Session["ShoppingCart"]).Rows[rowId]["Quantity"] = rowQty + int.Parse(dr["Quantity"].ToString());
    hasThisProduct = true;
    break;

    }

    }

    if(!hasThisProduct)
    ((DataTable)Session["ShoppingCart"]).Rows.Add(dr);
    Response.Redirect("ShoppingCart.aspx");
    }

    }
    }
    }
    Bên phần code thực thi nó ko hiện lên Panel1 mà chỉ có Class Panel. Có phải do thiếu thư viện gì đó không ạh

  9. #9
    Ngày gia nhập
    04 2010
    Nơi ở
    Trên hành tinh thứ ba tính từ Mặt trời
    Bài viết
    202

    Nếu như trang web của bạn sử dụng ASP.NET Membership thì bạn sử dụng LoginView để hiển thị các nội dung khác nhau tùy theo người dùng đã đăng nhập hay chưa.
    Microsoft Student Partner
    University of Information Technology - VNUHCM
    Visit my blog: My power is my mind

  10. #10
    Ngày gia nhập
    06 2011
    Bài viết
    13

    Trích dẫn Nguyên bản được gửi bởi lytieuchieu Xem bài viết
    EM cho Panel vào giao diện rồi, nhưng bên phần code cs nó lại không hiện lên

    Đây là giao diện:

    Còn đây là code thực thi:

    Bên phần code thực thi nó ko hiện lên Panel1 mà chỉ có Class Panel. Có phải do thiếu thư viện gì đó không ạh
    Vì cái Panel1 của bạn nằm trong DataList1, nên trong code code behind bạn ko thể sử dụng trược tiếp được, muốn sử dụng được bạn phải FindControl

    Bạn thử như sau coi

    var panel1 = (Panel) DataList1.FindControl("Panel1");

Các đề tài tương tự

  1. Socket Cách dùng winform để đăng nhập vào một trang web như thế nào?
    Gửi bởi tuandoi1 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 13
    Bài viết cuối: 08-05-2014, 08:18 AM
  2. Database Form đăng nhập tự động của 1 trang web như thế nào ?
    Gửi bởi khoahut trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 18-05-2013, 01:50 AM
  3. Lỗi WebDev.WebServer.exe khi đăng nhập trên localhost trên trang đăng nhập
    Gửi bởi canhkho trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 8
    Bài viết cuối: 18-05-2011, 04:14 PM
  4. Trả lời: 6
    Bài viết cuối: 18-05-2011, 01:25 PM
  5. Bắt bược đăng nhập trước khi vào vào trang web
    Gửi bởi edogawaconan trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 22-04-2011, 01:54 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn