将匿名类型暴露给整个asp页面

时间:2015-03-12 14:07:44

标签: c# asp.net

如何将具有匿名类型的变量公开给整个asp页面?我无法在页面类定义中声明变量,因为类型需要通过实际赋值来计算。这是(目前在方法中声明):

var beforeAndAfterMeds = 
 (from t in adminDB.tbl_patients_clinic_visit_records_medications_before_and_after_visits
  join m in adminDB.tbl_patients_medications on t.MedicationId equals m.PatientMedicationsId_this
  where t.PatientClinicVisitRecordsId == visit.PatientClinicVisitRecordsId_this
  orderby t.SupposedToBeOnPrelist descending, m.MedicationName
  select new { 
    m.MedicationName, 
    t.ZeroForBeforeVisitOneForAfterVisit,
    t.AvailableInGPS,
    t.SupposedToBeOnPrelist })
.ToList();

如何将其公开给整个页面,以便我可以从其他方法访问它?

提前致谢。

2 个答案:

答案 0 :(得分:4)

不要使用匿名类型。当您需要在特定的本地范围之外公开有关此类型的信息时,创建一个新的命名类型来表示此数据。

答案 1 :(得分:0)

我建议您使用@Servy的答案,但如果您真的想这样做,您可能会将列表转换为对象列表。

return myList.OfType<object>().ToList();