【问题标题】:ASP.NET MVC: Partial class: Cast Model to Generic class?ASP.NET MVC:部分类:将模型转换为通用类?
【发布时间】:2009-05-19 23:11:14
【问题描述】:

我正在构建一个用于 ASP.NET MVC 应用程序的通用网格。我在制作一个将泛型类传递给它的局部视图时遇到了麻烦。

我准备了一个小型示例项目,用于演示我想要做什么。 Download it here.

在 HomeController 中,我有 2 个控制器操作,它们使用我的通用网格类来准备 Employee 和 Department 数据,以由可重用的部分视图 /Shared/SimpleTrustGridViewer.ascx 显示。

问题是,当我像这样继承部分视图时,我目前只能让员工控制器操作起作用:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TrustGrid<Employee>>" %>

Departments 控制器操作会抛出我遇到的错误。

我希望有人可以看看我准备的示例项目,并想出一种简单的方法来使部分视图适用于员工和部门。不需要数据库或任何东西,我只是使用假存储库。

您可以在此处复制粘贴修复代码或链接或邮寄 (*myUserNameWithoutSpace*1985@gmail.com) 修复示例项目。

非常感谢任何帮助!

(这是对this question 的跟进,因为我无法在那里得到一个好的答案。我现在准备了一个示例项目,您可以使用它来演示需要做什么。)

编辑:不要太介意 IColumn 和 ITrustGrid 接口,我在尝试解决问题时对它们进行了一些尝试。

【问题讨论】:

  • 谢谢.. 我猜 :-) 如果您对这种方法有意见,请不要退缩。我在制作这样的可重复使用/通用的东西方面没有经验。

标签: asp.net-mvc generics partial-views


【解决方案1】:

扩展一个像 .getTrustGrid() 这样的方法,这样你就可以获得你需要的相同类型。

【讨论】:

  • 我实际上已经制定了一个使用 .GetTrustGrid() 来获取非泛型 TrustGrid 类的解决方案。我会在测试完成后发布它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 2021-03-15
相关资源
最近更新 更多