Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Code website bằng ASP.NET MVC

23:35 26-05-2023 633 lượt xem 3 bình luận

Chào mọi người,
Em đang code website bán hàng đến phần thêm, xóa, sửa sản phẩm trang admin.
Em code xong nhưng gặp vấn đề là khi điền xong form thêm sản phẩm thì nó không cập nhật thêm sản phẩm và không return về trang index danh sách sản phẩm. Bấm Lưu nó kiểu nó kiểu sẽ load lại trang.
Sau đây là code của em, mong mọi người giúp hix thời gian cấp bách quá e sắp nộp rồi :<

File Create.cshtml

@{
 ViewBag.Title = "Create";
 Layout = "~/Areas/Admin/Views/Shared/_MainLayoutAdmin.cshtml";
}

<style>

 input[type=submit] {
     width: 10%;
     background-color: #152036;
     color: white;
     padding: 14px 20px;
     font: inherit;
     border: none;
     border-radius: 4px;
     cursor: pointer;
 }
</style>


<div class="single-pro-review-area">
 @using (Html.BeginForm("Create", "SanPhamAdmin", FormMethod.Post, new { enctype = "multipart/form-data" }))
 {
        <div class="container-fluid">
            <div class="row">
                <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                    <div class="review-tab-pro-inner">
                        <ul id="myTab3" class="tab-review-design">
                            <li class="active"><a href="/redirect?Id=4Z3Esq3UGTTy6P6zUONjCsL9F22aife2AQ%2b%2b9iHZ2K%2fIypJOxMN4PojYZG7CCTlz" class="icon nalika-edit" aria-hidden="true"></i> Thêm sản phẩm</a></li>
                        </ul>
                        <div id="myTabContent" class="tab-content custom-product-edit">
                            <div class="product-tab-list tab-pane fade active in" id="description">
                                <div class="row">
                                    <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
                                        <div class="review-content-section">
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-user" aria-hidden="true"></i></span>
                                                <input type="text" class="form-control" name="MASP" placeholder="Mã Sản Phẩm" required>

                                            </div>
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-edit" aria-hidden="true"></i></span>
                                                <input type="text" class="form-control" name="TENSP" placeholder="Tên Sản Phẩm" required>

                                            </div>
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-edit" aria-hidden="true"></i></span>
                                                <input type="number" class="form-control" name="GIA" placeholder="Giá" required>

                                            </div>
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-edit" aria-hidden="true"></i></span>
                                                <input type="text" class="form-control" name="TINHTRANG" placeholder="Tình Trạng" required>

                                            </div>
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-edit" aria-hidden="true"></i></span>
                                                <input type="text" class="form-control" name="MOTA" placeholder="Mô Tả" required>

                                            </div>
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-edit" aria-hidden="true"></i></span>
                                                <input type="text" class="form-control" name="HINHCHINH" placeholder="Hình Ảnh">


                                                <span class="input-group-addon"><i aria-hidden="true"></i></span>
                                                <input type="file" class="form-control" id="file-upload" onchange="previewFile();" name="HINHCHINH" placeholder="Mã Hình Ảnh" required>

                                            </div>
                                            <div class="input-group mg-b-pro-edt">
                                                <span class="input-group-addon"><i class="icon nalika-edit" aria-hidden="true"></i></span>
                                                <input type="text" class="form-control" name="MALOAI" placeholder="Mã Loại" required>

                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                                        <div class="text-center custom-pro-edt-ds">

                                            <input type="submit" value="Lưu">

                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    }
</div>

File SanPhamAdminController

     // GET: Admin/SanPham
     public ActionResult Index()
     {
         return View(ShopOnlineBUS.DanhSachSP());
     }

        // GET: Admin/SanPham/Details/5
        public ActionResult Details(int id)
        {
            return View();
        }

        // GET: Admin/SanPham/Create
        public ActionResult Create()
        {
            return View();
        }
        // POST: Admin/SanPhamAdmin/Create
        [HttpPost]
        [ValidateInput(false)]
        public ActionResult Create(SANPHAM sp)
        {
            try
            {
                // TODO: Add insert logic here
                ShopOnlineBUS.InsertSP(sp);
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

File ShopOnlineBUS.cs

public static void InsertSP(SANPHAM sp)
{
    var db = new ShopOnlineConnectionDB();
    db.Insert(sp);
}

Giao diện
image

Debug

z4379666427844_ce64b371d2a9ddf64db334dfda1f0a49

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Fury Moderator đã bình luận 12:58 08-06-2023

Mình nghĩ bạn nên kiểm tra log lỗi (nếu có) trong tệp tin log của ứng dụng hoặc xem trong Console Output để xem có thông báo lỗi nào xuất hiện không? Đặt các điểm ngừng (breakpoints) trong code của bạn để theo dõi quá trình thực thi và kiểm tra giá trị của các biến và thuộc tính để xác định vị trí gây ra lỗi.

Một số điểm có thể gây lỗi bạn nên kiểm tra 

  1. Kiểm tra các thuộc tính name trong các input của form:

    • Đảm bảo rằng các thuộc tính name trong các input của form tương ứng với các thuộc tính của đối tượng SANPHAM (trong trường hợp của bạn).
    • Ví dụ: name="MASP" phải tương ứng với thuộc tính MASP của đối tượng SANPHAM.
  2. Xác định đúng actioncontroller cho form:

    • Trong form, đảm bảo rằng bạn đã xác định đúng actioncontroller cho form bằng cách sử dụng phương thức Html.BeginForm.
    • Ví dụ: Html.BeginForm("Create", "SanPhamAdmin", FormMethod.Post, new { enctype = "multipart/form-data" }) xác định rằng form sẽ gửi dữ liệu đến action Create trong controller SanPhamAdmin.
  3. Kiểm tra phương thức InsertSP trong ShopOnlineBUS.cs:

    • Đảm bảo rằng phương thức InsertSP trong ShopOnlineBUS.cs thực hiện việc chèn dữ liệu vào cơ sở dữ liệu một cách chính xác.
    • Kiểm tra xem bạn đã sử dụng cú pháp đúng để chèn dữ liệu vào cơ sở dữ liệu.
TuanShiba đã bình luận 18:54 27-05-2023
insert return về boolean xem nó thành công không bạn dữ liệu nó có vào không, sao mà không kiểm tra gì hết đã để nó chạy thẳng về index rồi
mt1234 đã bình luận 07:52 27-05-2023

Hmm

Câu hỏi mới nhất