Ani*_*fia 1 c# model-view-controller asp.net-mvc
我有以下型号患者类:
public class Patient
{
public int PatientID { get; set; }
public virtual Salutation salutation { get; set; }
public int SalutationID { get; set; }
public string Surname { get; set; }
public string Firstname { get; set; }
[Display(Name = "Date of Birth")]
[DisplayFormat(DataFormatString="{0:d}", ApplyFormatInEditMode=true)]
public DateTime DOB { get; set; }
public string RegNo { get; set; }
public DateTime RegDate { get; set; }
public string Occupation { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
VatalSigns类
public class VitalSign
{
public int VitalSignID { get; set; }
public string Sign { get; set; }
[Display(Name = "Lower Limit")]
public int? LowerHold { get; set; }
[Display(Name = "Upper Limit")]
public int? UpperHold { get; set; }
[Display(Name = "Unit Of Measurment")]
public string Units { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
为每位患者存储VitalSigns的PV类
public class PVSign
{
public long PVSignId { get; set; }
[Display(Name = "Patient")]
public int PatientID { get; set; }
public VitalSign VitalSigns { get; set; }
//public IList<VitalSign> VitalSigns { get; set; }
public Patient patient { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在我遇到的问题是我无法显示一个来输入详细信息.我想选择患者,将出现不同的Vitals标志,我将把我需要的标志保存到PVSign表中.
我已经厌倦了网上的各种样品.您可以从下面的代码中看到,这是索引存根:
public ActionResult Index()
{
var pVSigns = db.PVSigns.Include(p => p.patient).Include(p => p.PVSignId).Include(p => p.VitalSigns);
//var pVSigns = from o in db.Patients join o2 in db.PVSigns
//List<object> myModel = new List<object>();
//myModel.Add(db.Patients.ToList());
//myModel.Add(db.VitalSigns.ToList());
//return View(myModel);
return View(pVSigns.ToList());
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题.我是MVC的新手,如果是Webforms,我会完成这个项目.
谢谢.
这(你)的问题没有单一的答案(解决方案).这取决于您希望如何设计/构建/实现您的解决方案.简单,粗野的解决方案:只需将视图模型作为一个包装器,将您所创建的类(模型)作为其属性,并解决此问题,
public class FullPatientDetailsViewModel
{
public Patient { get; set;}
public List<PVSign> PatientPvSigns { get; set;} // Patien PV Signs
}
Run Code Online (Sandbox Code Playgroud)
或者只使用PatientViewModel并使用Ajax加载他的PVSigns异步.没有简单的最佳解决方案,这完全取决于您想要实现更大的目标.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |