14A41_ITDEFGroup

14A41 _ Forum của nhóm 14A41_ITDEFGroup lớp CTK32 khoa CNTT Đại Học Đà Lạt. Các bạn có thể đăng kí thành viên và chia sẻ với chúng tôi

Join the forum, it's quick and easy

14A41_ITDEFGroup

14A41 _ Forum của nhóm 14A41_ITDEFGroup lớp CTK32 khoa CNTT Đại Học Đà Lạt. Các bạn có thể đăng kí thành viên và chia sẻ với chúng tôi

14A41_ITDEFGroup

Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
14A41_ITDEFGroup

2 posters

    Sửa lỗi xây dựng trang Admin - BalloonShop

    Secretary_It'sMe
    Secretary_It'sMe
    Thần Chém Gió
    Thần Chém Gió


    Nam Cung hoàng đạo : Thiên Bình Thìn
    Tổng số bài gửi : 140
    Điểm Hoạt Động : 836
    Join date : 03/10/2010
    Age : 35
    Đến từ : Hải Phòng

    Sửa lỗi xây dựng trang Admin - BalloonShop Empty Sửa lỗi xây dựng trang Admin - BalloonShop

    Bài gửi by Secretary_It'sMe Mon Apr 04, 2011 9:36 am

    Làm trang Admin của mr Cường đúng là thảm họa - thầy hướng dẫn một đằng, thầy copy và paste một nẻo, âu cũng là sự nhầm nhọt sang trồng trọt trong 178 trang của thầy.

    Phi Y tôi sau bao thời gian nghiền văn ngẫm, xin mạo muội post một số lỗi như sau:

    1 - EditCategory.aspx , ở file EditCategory.aspx.cs

    đây là code của thầy:

    Code:

    private void PopulateControls()
    {
        // Lay danh sach Category dua vao DropDownList (DDL)
        // Dat value cho DDL la truong CategoryID
        ddlCategory.DataValueField = "CategoryID";
        // Dat phan hien thi (text) la truong Name
        ddlCategory.DataTextField = "Name";
        ddlCategory.DataSource = Category.All();
        ddlCategory.DataBind();
     
        string cid = Request.QueryString["cid"] ?? "";
        // Neu co QueryString cid ==> cap nhat Product
        if (cid != "")
        {
            // Lay Product theo gia tri cid
            Product data = Product.Single(cid);
            // Khong ton tai Product nay trong he thong
            // chuyen huong ve trang Product.aspx
            if (data == null)
                Response.Redirect("~/Admin/Product.aspx");
     
            // Nguoc lai thi dua du lieu vao form de tien hanh cap nhap
            // Dat ten trang web
            lblTitle.Text = "Edit Product";
      [COLOR="Red"]// Luu lai gia tri ID cua Product hien dang cap nhat
            lblId.Text = data.ProductID.ToString(); [/COLOR]
     
            // Gan cac thong tin con lai vao form
            txtName.Text = data.Name;
            txtDes.Text = data.Description;
            txtPrice.Text = data.Price.HasValue ? data.Price.Value.ToString() : "";
            lblImage.Text = data.Image;
            lblThumnail.Text = data.Thumbnail;
            chkPromoFront.Checked = data.PromoFront.GetValueOrDefault(false);
            ddlCategory.SelectedValue = data.CategoryID.ToString();
            btnReset.Visible = false;
        }
        else
        {
            // Khong co QueryString cid ==> them moi Product
            // Dat ten trang web
            lblTitle.Text = "Add Product";
     
            // Hien nut reset (xoa trang form de nhap lai)
            btnReset.Visible = true;
        }
    }

    Các bạn chú ý cái phần code màu đỏ nhé - code như vậy có mà đến tết công gô bạn ấn nút save nó mới chạy.

    Bạn nên sửa lại như sau:

    Code:


    private void PopulateControls()
       {
          string cid = Request.QueryString["cid"] ?? "";
          // Nếu có QueryString cid thì cập nhật Category
          if (cid != "")
          {
             // Lấy category theo  cid
             Category data = Category.Single(cid);
             [COLOR="red"]lblId.Text = cid;[/COLOR]
             // Nếu không tồn tại category 
             // chuyển hướng về trang Category.aspx
             if (data == null)
             {
                Response.Redirect("~/Admin/Category.aspx");
                return;
             }
             lblTitle.Text = "Edit Category";
             txtName.Text = data.Name;
             txtDes.Text = data.Description;
             btnReset.Visible = false;
          }
          else
          {
             //Thêm mới
             lblTitle.Text = "Add Category";
             btnReset.Visible = true;
          }
       }


    cid chính là cái Category bạn truyền vào, vì vậy, bạn dùng biến lblID để lưu trữ lại ID của Category cần cập nhật thì tốt hơn hết là lưu lại cái thằng cid.

    Như vậy, cái hàm GetData bên dưới cũng phải sửa:

    Code:


    private Category GetData()
       {
          Category data = new Category();
          try
          {
             data.CategoryID = int.Parse(lblId.Text);
          }
          catch
          {
             data.CategoryID = 0;
          }
          data.Name = txtName.Text;
          data.Description = txtDes.Text;
          return data;
       }

    Xong 1 lỗi - bây giờ bạn cập nhật - thêm Category thoải mái.


    Được sửa bởi Secretary_It'sMe ngày Wed Apr 13, 2011 10:44 am; sửa lần 1.
    Secretary_It'sMe
    Secretary_It'sMe
    Thần Chém Gió
    Thần Chém Gió


    Nam Cung hoàng đạo : Thiên Bình Thìn
    Tổng số bài gửi : 140
    Điểm Hoạt Động : 836
    Join date : 03/10/2010
    Age : 35
    Đến từ : Hải Phòng

    Sửa lỗi xây dựng trang Admin - BalloonShop Empty Re: Sửa lỗi xây dựng trang Admin - BalloonShop

    Bài gửi by Secretary_It'sMe Mon Apr 04, 2011 9:54 am

    [SIZE="5"]2 - EditProduct.aspx , phần EditProduct.aspx.cs[/SIZE]

    Cái này mình miễn trình bày, lỗi sai tương tự như phần 1, bạn cập nhật lại cái lblID là ôk

    Code:


    private void PopulateControls()
       {
          ddlCategory.DataValueField = "CategoryID";
          ddlCategory.DataTextField = "Name";
          ddlCategory.DataSource = Category.All();
          ddlCategory.DataBind();
          string cid = Request.QueryString["cid"] ?? "";
          if (cid != "")
          {
          [COLOR="red"]   lblId.Text = cid;[/COLOR]
             Product data = Product.Single(cid);
             if (data == null)
             {
                Response.Redirect("~/Admin/Product.aspx");
                return;
             }
             lblTitle.Text = "Sửa đổi thông tin sản phẩm";
             txtName.Text = data.Name;
             txtDes.Text = data.Description;
             txtPrice.Text = data.Price.HasValue ? data.Price.Value.ToString() : "";
             txtImage.Text = data.Image;
             txtThumbnail.Text = data.Thumbnail;
             chkPromoFront.Checked = data.PromoFront.GetValueOrDefault(false);
             ddlCategory.SelectedValue = data.CategoryID.ToString();
             btnReset.Visible = false;
          }
          else
          {
             lblTitle.Text = "Thêm sản phẩm";
             btnReset.Visible = true;
          }
       }


    Lưu ý, phần này mình làm cái Up ảnh bằng Pop Up, nói chung, bạn chỉ cần sửa cái dòng đỏ là ok, đừng gán giá trị cho lblID sau thằng if là đc

    Vậy nên cái hàm GetData cũng có thể viết gọn 1 chút:

    Code:

    private Product GetData()
       {
          Product data = new Product();
          try
          {
             data.ProductID = int.Parse(lblId.Text);
          }
          catch
          {
             data.ProductID = 0;
          }
          data.Name = txtName.Text;
          data.Description = txtDes.Text;
          if (txtPrice.Text != "")
             data.Price = Convert.ToDecimal(txtPrice.Text);
          else data.Price = new decimal(999);
          data.CategoryID = Convert.ToInt32(ddlCategory.SelectedValue);
          data.Thumbnail = txtThumbnail.Text;
          data.Image = txtImage.Text;
          data.PromoFront = chkPromoFront.Checked;
          return data;
       }


    Được sửa bởi Secretary_It'sMe ngày Wed Apr 13, 2011 10:46 am; sửa lần 1.
    Secretary_It'sMe
    Secretary_It'sMe
    Thần Chém Gió
    Thần Chém Gió


    Nam Cung hoàng đạo : Thiên Bình Thìn
    Tổng số bài gửi : 140
    Điểm Hoạt Động : 836
    Join date : 03/10/2010
    Age : 35
    Đến từ : Hải Phòng

    Sửa lỗi xây dựng trang Admin - BalloonShop Empty Re: Sửa lỗi xây dựng trang Admin - BalloonShop

    Bài gửi by Secretary_It'sMe Mon Apr 04, 2011 9:54 am

    [SIZE="4"]3- Admin/Product.aspx , file Product.aspx [/SIZE]

    Nói chung , đây là cái file của chuối nhất trong số các loại file mà thầy tạo ra. Mình không đi trình bày nhiều về lỗi của thầy - đơn giản là thầy copy và paste sai.

    Cách khắc phục :

    Các bạn làm theo từng bước như sau:

    1 - bổ sung hàm sau vào lớp Link của DataAccess

    Code:


    public static string ToAdminProduct(string page)
          {
             if (page == "1")
                return BuildAbsolute("Admin/Product.aspx");
             else
                return BuildAbsolute(String.Format("Admin/Product.aspx?Page={0}", page));
          }


    - nhớ sau khi bổ sung thì ctrl + shift + B nhé.

    2 - Sửa lại hàm PopulateControls như sau:
    Code:


    private void PopulateControls()
       {
          int howManyPages = 0;
          string page = Request.QueryString["Page"] ?? "1";
          string firstPageUrl = Link.ToAdminProduct(page);
          string pagerFormat = Link.ToAdminProduct("{0}");
          repProd.DataSource = Product.Paging(page, out howManyPages);
          repProd.DataBind();
          pagerTop.Show(int.Parse(page), howManyPages, firstPageUrl, pagerFormat, false);
          pagerBottom.Show(int.Parse(page), howManyPages, firstPageUrl, pagerFormat, true);
       }


    Vậy là ok, bây giờ bạn quay lại Admin/Default.aspx và F5 để xem kết quả.

    Trong Admin.master, bạn bổ sung dòng code sau :

    Code:


    <asp:HyperLink ID="lnkProduct" NavigateUrl="~/Admin/Product.aspx" runat="server">Thông tin sản phẩm</asp:HyperLink>


    Vào chố mình đánh dấu

    Code:

    <div id="mainmenu">
                    <asp:HyperLink ID="lnkCPanel" NavigateUrl="~/Admin/" 
    runat="server">CPanel</asp:HyperLink>
                  <asp:HyperLink ID="lnkCategory" NavigateUrl="~/Admin/Category.aspx" 
    runat="server">Category</asp:HyperLink>
    [COLOR="red"][B]//Bà con chèn nó vô đây[/B][/COLOR]
                </div>


    Bây giờ, bạn thử F5
    avatar
    hienit90
    Mod
    Mod


    Nam Tổng số bài gửi : 4
    Điểm Hoạt Động : 98
    Join date : 08/10/2010

    Sửa lỗi xây dựng trang Admin - BalloonShop Empty hien

    Bài gửi by hienit90 Sat May 07, 2011 10:31 pm

    anh Duc oi em sua o file EditCategory.aspx.cs

    theo cach cua anh roi ma sao no van bi loi nhu cu
    Secretary_It'sMe
    Secretary_It'sMe
    Thần Chém Gió
    Thần Chém Gió


    Nam Cung hoàng đạo : Thiên Bình Thìn
    Tổng số bài gửi : 140
    Điểm Hoạt Động : 836
    Join date : 03/10/2010
    Age : 35
    Đến từ : Hải Phòng

    Sửa lỗi xây dựng trang Admin - BalloonShop Empty Re: Sửa lỗi xây dựng trang Admin - BalloonShop

    Bài gửi by Secretary_It'sMe Sun May 08, 2011 11:39 am

    chú vác máy sang đây

    Sponsored content


    Sửa lỗi xây dựng trang Admin - BalloonShop Empty Re: Sửa lỗi xây dựng trang Admin - BalloonShop

    Bài gửi by Sponsored content


      Hôm nay: Fri May 17, 2024 5:40 pm