如何将数据从控制器传递到mvc中的视图

时间:2015-04-24 08:59:01

标签: asp.net-mvc entity-framework asp.net-mvc-4

  1. 我遇到从控制器发送数据到查看的问题。

  2. 当我从控制器传递值到视图时,它变为空。

  3. 我想显示约会的详细信息             特别是医生。

  4. 例如,如果患者XYZ想要在ABC Doctor上预约                 特定的时间和日期,然后选定的医生只能查看                 预约细节......患者也可以看到他的预约                 的信息。

    我有预约模式

     public partial class Appointment
    {
        public int Id { get; set; }
        public int PatientId { get; set; }
        public int DoctorId { get; set; }
        public Nullable<System.DateTime> Date { get; set; }
        public Nullable<System.DateTime> TimeOfDrAvailablity { get; set; }
    
        public virtual Doctor Doctor { get; set; }
        public virtual Patient Patient { get; set; }
    }
    

    医生控制器(我正在尝试到目前为止......在这里我获得了dr.ID和Patient.Id但是当它通过查看它变为空时)

      public ActionResult Appointment(Doctor doc)
        {
    
            var app=new Appointment();
    
            app.DoctorId = db.Doctors.FirstOrDefault().Id;
            app.PatientId = db.Patients.FirstOrDefault().Id;
    
            return View();
        }
    

    查看

       @using (Html.BeginForm(null, null, FormMethod.Post, new { @class = "form-horizontal role='form' " }))
       {
        <tr>
        <td>@Html.DisplayFor((model=>model.Appointments.FirstOrDefault().Date), new { @class = "Form-control" })
    </td>                  
     <td>
     @Html.DisplayFor((model => model.Id), new { @class = " Form-control" })
      </td>                    
      <td>                        
     @Html.DisplayFor((model => model.Appointments.FirstOrDefault().PatientId), new { @class = " Form-control" })
     </td>                   
     <td> 
      <div class="btn-group">
       <div class="btn btn-Sucess">
     @Html.ActionLink("Edit", "Edit", new { id =Model.Id })
      </div>
    

1 个答案:

答案 0 :(得分:5)

您需要将模型传递给您的视图,如下所示

public ActionResult Appointment(Doctor doc)
{
    var app = new Appointment();

    [...]

    return View(app);
}

您的视图会引用您的模型,如下所示

@model MyProject.Appointment

<p>Doctor: @Model.DoctorId</p>
<p>Patient: @Model.PatientId</p>