我希望我的术语是正确的。如果没有,请编辑。
从我的 Linq2Sql 类中,我有一个 Color 类。我的控制器的一个动作接受这个 Color 类的一个实例。
我想创建一个指向此操作的链接,所以我使用
<%=Html.ActionLink<ColorController>(c=>c.Details(ViewData.Model.ActiveColor), "test")%>
ViewData.Model.ActiveColor 当然是前面提到的 Color 实例。
这呈现如下:
/Color/Details?color=- 不完全是我的想法。
我究竟做错了什么?我应该开始创建自定义 ModelBinders 吗?
编辑
我找到了“-”的来源。显然 ActionLink 正在调用 ToString。这很奇怪,因为我看到 tostring 更多的方式来显示一些东西然后识别一些东西(这不是 GetHash 的用途吗?)。即使在我的对象上实现了 Iserailizable 接口后,它仍然使用 ToString 方法。我可以在某处定义如何序列化我的类而不是使用 ToString() 吗?我觉得我完全走错了路。