我有一个视图,它显示我发送的对象列表中的数据。这些对象都是同一个基类,但可以是许多不同的派生类型。所以我有:
class Item { public string Description {get;set;}
class VideoItem : Item { public int VideoId {get;set;} }
class PdfItem : Item { public pdfLocation {get;set;} }
我将这些都显示在一个列表中,并希望能够拥有一个我可以调用的控制器方法来处理其中的每一个。为该方法提供重载也可以。
我将它作为 ActionLink 连接,但我不知道如何将整个对象传递给控制器。当我尝试传递类时,它只传递类名(我假设它使用了 .ToString() 方法。
我可以使用某种唯一的 id,然后重新查询数据库并重新创建对象,但似乎如果我已经创建了对象,我应该能够将它完整地传递给控制器,不是吗?
也许 ActionLink 不是最好的解决方案。我不在乎控制器是如何被调用的。
想法?