Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: add các phần tử của n table trong 1 view sử dụng linq to SQL (MVC) lỗi: No parameterless constructor?

  1. #1
    Ngày gia nhập
    12 2010
    Bài viết
    23

    Red face add các phần tử của n table trong 1 view sử dụng linq to SQL (MVC) lỗi: No parameterless constructor?

    đây là lỗi của e


    đây là code phần controller (đoạn này e nghĩ là sai chưa biết làm thế nào ID_Tour = tour.ID_Tour lấy mã dc check theo mã tour cái này là add booking theo mã tour vậy thì lấy dữ liệu từ thằng check như thế này có dc ko?)

    Code:
    public ActionResult TourBooking()
            {
                return View();
            }
            [HttpPost]
            public ActionResult TourBooking(AddAndViewBookingModels model,string strID)
            {
                NorthwindDataContext db = new NorthwindDataContext();
                Tour tour = new Tour();
                TypeOfCost typeofcost = new TypeOfCost();
                    var booking = new Booking
                    {
                        ID_Booking = Convert.ToString(DateTime.Now),
                        CompanyName = model.BookingAddModels.CompanyName,
                        OrdererName = model.BookingAddModels.OrdererName,
                        IDCardNo = model.BookingAddModels.IDcardNo,
                        Address = model.BookingAddModels.Address,
                        PhoneNumber = model.BookingAddModels.PhoneNumber,
                        Email = model.BookingAddModels.Email,
                        TaxCode = model.BookingAddModels.TaxCode,
                        TotalOfTourist = model.BookingAddModels.TotalOfTourist,
                        NumberOfAdult = model.BookingAddModels.Adult,
                        NumberOfChildren = model.BookingAddModels.Children,
                        NumberOfBaby = model.BookingAddModels.Baby,
                        BookingDay = DateTime.Today,
                        PaymentDay = DateTime.Today.AddDays(1),
                        TotalOfCost = ((model.BookingAddModels.Adult * typeofcost.AdultCost) + (model.BookingAddModels.Children * typeofcost.ChildrenCost) + (model.BookingAddModels.Baby * typeofcost.BabyCost)),
                        ID_Tour = tour.ID_Tour
                    };
                    db.Bookings.InsertOnSubmit(booking);
                    db.SubmitChanges();
    
                    TouristList tourislist = new TouristList
                    {
                        ID_Tourist = model.BookingAddTourlistModels.ID_Tourist,
                        Name_tourlist = model.BookingAddTourlistModels.Name_tourlist,
                        DOB = model.BookingAddTourlistModels.DOB,
                        Address = model.BookingAddTourlistModels.Address,
                        Gender = model.BookingAddTourlistModels.Gender,
                        TypeOfAge = model.BookingAddTourlistModels.Gender,
                        Notes = model.BookingAddTourlistModels.Notes
                    };
                    db.TouristLists.InsertOnSubmit(tourislist);
                    db.SubmitChanges();
    
    
                    TourisManagement tourismanagement = new TourisManagement
                    {
                        ID_Booking = booking.ID_Booking,
                        ID_Tourist = tourislist.ID_Tourist
                    };
                    db.TourisManagements.InsertOnSubmit(tourismanagement);
                    db.SubmitChanges();
    
                return RedirectToAction("TourBooking");
            }

    đây là code phần model
    Code:
     public class BookingAddModels
        {
            public string ID_Booking { get; set; }
            public string CompanyName { get; set; }
            public string OrdererName { get; set; }
            public string IDcardNo { get; set; }
            public string Address { get; set; }
            public int PhoneNumber { get; set; }
            public string Email { get; set; }
            public string TaxCode { get; set; }
            public int TotalOfTourist { get; set; }
            public int Adult { get; set; }
            public int Children { get; set; }
            public int Baby { get; set; }
            public DateTime BookingDay { get; set; }
            public DateTime PaymentDay { get; set; }
            public decimal TotalOfCost { get; set; }
            public string PaymentMethod { get; set; }
            public string ID_Tour { get; set; }
        }
        public class BookingAddTourlistModels
        {
            public string ID_Tourist { get; set; }
            public string Name_tourlist { get; set; }
            public DateTime DOB { get; set; }
            public string Address { get; set; }
            public string Gender { get; set; }
            public string TypeOfAge { get; set; }
            public string Notes { get; set; }
        }
        public class AddAndViewBookingModels
        {
            public BookingAddTourlistModels BookingAddTourlistModels
            {
                get;
                private set;
            }
            public BookingAddModels BookingAddModels
            {
                get;
                private set;
            }
            public AddAndViewBookingModels(BookingAddTourlistModels bookingaddtourlistmodels, BookingAddModels bookingadd)
            {
                BookingAddTourlistModels = bookingaddtourlistmodels;
                BookingAddModels = bookingadd;
            }
        }
    đây là ảnh giao diện


    mong dc mọi người giúp đỡ
    Đã được chỉnh sửa lần cuối bởi bkit48 : 09-05-2012 lúc 01:23 AM. Lý do: tiêu đề chưa chuẩn

  2. #2
    Ngày gia nhập
    09 2011
    Nơi ở
    Hồ Chí Minh
    Bài viết
    21

    Nhìn thì thấy báo lỗi của nó là "No parameterless constructor", cứ nhìn vào đó thì hiểu là bạn đang sử dụng một model không có constructor không có tham số, và có lẽ đó là AddAndViewBookingModels. Và vì vậy nên LINQ-TO-SQL không thể gắn giá trị các thuộc tính của model vào cho model được nên nó sẽ sinh lỗi.

  3. #3
    Ngày gia nhập
    12 2010
    Bài viết
    23

    Red face Lỗi xem giá trị từ nhiều bảng bằng cách sử dụng LinQ to SQL

    thanks tumivn
    giờ mình chỉnh lại thì nó bị lỗi như thế này là sao mong các pro chỉ giáo




  4. #4
    Ngày gia nhập
    09 2011
    Nơi ở
    Hồ Chí Minh
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi bkit48 Xem bài viết
    thanks tumivn
    giờ mình chỉnh lại thì nó bị lỗi như thế này là sao mong các pro chỉ giáo



    Cái này đơn giản là vì dữ liệu trong một trường nào đó dài quá, ví dụ trường Title bạn chỉ cho 100 ký tự, nhưng bạn lại thêm vào đến 200 ký tự chẳng hạn!

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

  1. truy vấn Linq lấy về giá trị duy nhất 1 ô trong Table
    Gửi bởi billsang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 01-07-2013, 04:23 PM
  2. Lấy primary key tự động tăng vừa mới Insert của 1 Table bằng LinQ
    Gửi bởi namnguyen1251 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 12
    Bài viết cuối: 26-06-2013, 11:14 PM
  3. Làm sao để View và add dư liệu sử dụng Linq to SQL trong cùng 1 view
    Gửi bởi bkit48 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 08-05-2012, 10:47 AM
  4. tìm hiểu về constructor trong phần class của C++
    Gửi bởi autorun12 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 70
    Bài viết cuối: 10-05-2011, 05:31 PM
  5. Sử dụng LINQ truy vấn table Menu Đa cấp trong Database?
    Gửi bởi Ne7ven trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 31-03-2011, 04:55 PM

Tags của đề tài này

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