【问题标题】:Html.BuildUrlFromExpression with reference type parameters for action带有引用类型参数的 Html.BuildUrlFromExpression 操作
【发布时间】:2010-09-22 03:55:15
【问题描述】:

我希望我的术语是正确的。如果没有,请编辑。

在我的 Linq2Sql 类中,我有一个 Color 类。 我的控制器的一个动作接受这个 Color 类的一个实例。

我想创建一个指向此操作的链接,所以我使用

<%=Html.ActionLink<ColorController>(c=>c.Details(ViewData.Model.ActiveColor), "test")%>

ViewData.Model.ActiveColor 与前面提到的 Color 实例不同。
这呈现如下:

/颜色/细节?颜色=- 不完全是我的想法。..

我做错了什么?我应该开始创建自定义 ModelBinders 吗?

编辑
我找到了“-”的来源。显然 ActionLink 正在调用 ToString。这很奇怪,因为我看到 tostring 更多地显示某些东西然后识别某些东西(这不是 GetHash 的用途吗?)。 即使在我的对象上实现了 Iserailizable 接口后,它仍然使用 ToString 方法。我可以在某个地方定义如何序列化我的类而不是使用 ToString() 吗?我感觉自己完全走错了方向。

【问题讨论】:

    标签: c# asp.net-mvc model-binding


    【解决方案1】:

    Actionlink 确实在调用 ToString()。我使用日期遇到了同样的问题。在我的网址中,我希望日期为 dd-mm-yyyy 而不是默认的 DateTime.ToString()。

    第一个选项是覆盖您的 Color 的 ToString() 方法。如果这是不可能的(与 DateTime 一样)还有其他方法,但它们有点“hacky”......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-21
      • 2016-11-17
      • 2017-10-06
      • 2014-04-28
      相关资源
      最近更新 更多