【问题标题】:expose an anonymous type to entire asp page向整个 asp 页面公开匿名类型
【发布时间】:2015-03-12 14:07:44
【问题描述】:

如何将具有匿名类型的变量公开给整个 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();

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

提前致谢。

【问题讨论】:

  • 创建自己的类,而不是使用匿名类型。
  • 创建您自己的课程并阅读有关在本地空间之外共享数据的信息。

标签: c# asp.net


【解决方案1】:

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

【讨论】:

  • 确实是唯一明智的答案。
【解决方案2】:

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

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

【讨论】:

  • 此时列表变得和巧克力茶壶一样有用。
  • @Jamiec 这似乎过于慷慨了。巧克力茶壶现在听起来很好吃。
  • @Jamiec 基本上是的。我不宽恕它。但它仍然可以用于 webforms 数据绑定场景,因此并非完全没用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-14
  • 2016-08-17
相关资源
最近更新 更多