代码之家  ›  专栏  ›  技术社区  ›  Xenph Yan

ActionLink发送复杂类型的模型

  •  1
  • Xenph Yan  · 技术社区  · 16 年前

    int ZipCode
    int MinAge
    int MaxAge
    Availability
        bool Monday
        bool Tuesday
        ...
        bool Friday
    Requirements
        bool FirstAid
        bool DriversLicense
    

    我正在使用;

    <%: Html.ActionLink("Next »", "Save", "Notification", Model.options)%>
    

    它正确地发送了第一级的所有数据,但是任何子对象(可用性或需求)都不会在URL中展开,我得到的只是类名,因此当我单击链接更改到其他页面时,我会丢失大部分搜索选项。

    2 回复  |  直到 16 年前
        1
  •  0
  •   John Farrell    16 年前

    在下面的某个地方,Options对象被用作RouteValueDictionary构造函数的参数:

    http://msdn.microsoft.com/en-us/library/cc680272(v=VS.100).aspx

        2
  •  0
  •   Xenph Yan    16 年前

    我最终创建了一个重写的ToString()方法,该方法将复杂模型转换为查询字符串。然后创建一个平面模型来映射查询字符串和一个convert方法来弹出原始的复杂对象。

    我不会撒谎。。。这是一个很大的黑客。