Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1

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

    Controller
    Mã:
    public readonly NorthwindDataContext _data;
    
            public TourpackageController(NorthwindDataContext data)
            {
                _data = data;
            }
    
            public TourpackageController()
            {
                _data = new NorthwindDataContext();
            }
    
            public ActionResult TourBooking(string strID)
            {
                var id_tour = from db in _data.Tours
                              join db2 in _data.TypeOfCosts on db.ID_TourCost equals db2.ID_TourCost
                              where db.ID_Tour == strID && db.ID_TourCost == db2.ID_TourCost
                              select new
                              {
                                  db.TourName,
                                  db.DepartureDay,
                                  db.DeparturePosition,
                                  db.AvailableRoom,
                                  db2.AdultCost,
                                  db2.ChildrenCost,
                                  db2.BabyCost
                              };
                var view_tour = id_tour.Select(p => new BookingModels(p.TourName, Convert.ToDateTime(p.DepartureDay), p.DeparturePosition, Convert.ToInt32(p.AvailableRoom),
                    Convert.ToInt32(p.AdultCost),Convert.ToInt32(p.ChildrenCost),Convert.ToInt32(p.BabyCost)));
                return View(view_tour);
            }
    //Models
    Mã:
    public class BookingModels
        {
            public string TourName { get; set; }
            public DateTime DepartureDay { get; set; }
            public string DeparturePosition { get; set; }
            public int AvailableRoom { get; set; }
            public int AdultCost { get; set; }
            public int ChildrenCost { get; set; }
            public int BabyCost { get; set; }
    
            public BookingModels(string tourname, DateTime departureday,string departureposition, int availableroom,int adultcost,int childrencost,int babycost)
            {
                this.TourName = tourname; this.DepartureDay = departureday; this.DeparturePosition = departureposition; this.AvailableRoom = availableroom;
                this.AdultCost = adultcost; this.ChildrenCost = childrencost; this.BabyCost = babycost;
            }
        }
    View
    Mã:
    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/AllWeb.Master" Inherits="System.Web.Mvc.ViewPage<PNKBproject.Models.BookingModels>" %>
    <div        <div Model.TourName %></div>
            
            <div        <div String.Format("{0:g}", Model.DepartureDay) %></div>
            
            <div        <div Model.DeparturePosition %></div>
            
            <div        <div Model.AvailableRoom %></div>
            
            <div        <div Model.AdultCost %></div>
            
            <div        <div Model.ChildrenCost %></div>
            
            <div        <div Model.BabyCost %></div>
    và đây là báo lỗi

    e đã debug và trong controller đã trả về giá trị chỉ chưa view ra được mong dc mọi người chỉ giáo [IMG]images/smilies/21.gif[/IMG]

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    public ActionResult TourBooking(string strID)
            {
                var id_tour = from db in _data.Tours
                              join db2 in _data.TypeOfCosts on db.ID_TourCost equals db2.ID_TourCost
                              where db.ID_Tour == strID && db.ID_TourCost == db2.ID_TourCost
                              select new
                              {
                                  db.TourName,
                                  db.DepartureDay,
                                  db.DeparturePosition,
                                  db.AvailableRoom,
                                  db2.AdultCost,
                                  db2.ChildrenCost,
                                  db2.BabyCost
                              };
                var view_tour = id_tour.Select(p => new BookingModels(p.TourName, Convert.ToDateTime(p.DepartureDay), p.DeparturePosition, Convert.ToInt32(p.AvailableRoom),
                    Convert.ToInt32(p.AdultCost),Convert.ToInt32(p.ChildrenCost),Convert.ToInt32(p.BabyCost)));
                return View(view_tour);
            }
    trong controller này bạn trả về là một ienumerable chứ không phải là một đối tượng vì vậy nên có báo lỗi. bạn phải them .firstordefault() trong câu lệnh linq thì mới đúng

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    thanks bác tuanngocpt mình đã giải quyết dc vấn đề sau đây là đoạn code gỡ lỗi mình sửa dành cho ai có hứng thú làm mvc tham khảo
    Mã:
    public ActionResult TourBooking(string strID)
            {
                var id_tour = (from db in _data.Tours
                              join db2 in _data.TypeOfCosts on db.ID_TourCost equals db2.ID_TourCost
                              where db.ID_Tour == strID && db.ID_TourCost == db2.ID_TourCost
                              select new
                              {
                                  db.TourName,
                                  db.DepartureDay,
                                  db.DeparturePosition,
                                  db.AvailableRoom,
                                  db2.AdultCost,
                                  db2.ChildrenCost,
                                  db2.BabyCost
                              }).FirstOrDefault();
                var view_tour = new BookingModels(id_tour.TourName, Convert.ToDateTime(id_tour.DepartureDay), id_tour.DeparturePosition, Convert.ToInt32(id_tour.AvailableRoom),
                    Convert.ToInt32(id_tour.AdultCost),Convert.ToInt32(id_tour.ChildrenCost),Convert.ToInt32(id_tour.BabyCost));
                return View(view_tour);
            }

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •