[英]'object' does not contain a definition for 'rxDetail'
控制器代碼
public ActionResult Index()
{
var data = (from pd in db.Prescription_Details join md in db.Medicine_Details
on pd.Medicine_Id equals md.Medicine_Id
select new MyPrescription {rxDetail=pd.Rx_Detail_Id , medicineName=md.Medicine_Name , dosageFrequency= pd.Dosage_Frequency}).ToList();
var prescs = db.Prescription_Details.Select(x => x.Prescription.Doctor_Details.Doctor_Name).Distinct().ToList();
//entity
ViewBag.prescriptions = prescs;
ViewBag.dd = data;
return View();
}
Razor code
@foreach (var item in ViewBag.dd)
{
<tr>
<td>@item.rxDetail</td>
<td>@item.medicineName</td>
<td>@item.dosageFrequency</td>
</tr>
}
除了創建新類MyPrescriptions之外,我還會遇到此錯誤。 還有其他方法可以繼續嗎?
您的MyPrescription
類是內部類嗎? 剃刀視圖被編譯為單獨的程序集,因此內部類無法在其中訪問。
嘗試從dynamic
變量訪問無法訪問的類的屬性會引發異常。
ViewBag
內部將定義的屬性值存儲為Object。 它實際上是ExpandoObject定義的動態類型,將數據存儲為字典。 一旦將任何custom object
轉換為類型object
,除非明確地將其強制轉換,否則它將不知道自定義對象的基礎屬性。
因此,您需要做的就是將其轉換為自定義對象,然后再使用:
@foreach(ViewBag.dd中的變量項作為MyPrescription)
@foreach (MyPrescription item in ViewBag.dd)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.