Надеюсь, моя терминология правильная. Отредактируйте, если нет.Html.BuildUrlFromExpression с ссылочными типами параметров для действия
Из моих классов Linq2Sql у меня есть класс Color. Один из действий моего контроллера принимает экземпляр этого класса Color.
Я хочу, чтобы создать ссылку на это действие, поэтому я использую
<%=Html.ActionLink<ColorController>(c=>c.Details(ViewData.Model.ActiveColor), "test")%>
Где ViewData.Model.ActiveColor выключен конечно вышеупомянутый пример цвета.
Это делает следующим образом:
/цвет/Детали цвет = - Не совсем то, что я имел в виду отклонения от курса ..
Что я делаю не так? Должен ли я создавать пользовательские ModelBinders?
EDIT
Я нашел, где "-" пришел. Очевидно, ActionLink вызывает ToString. Это довольно странно, так как я вижу tostring больше способов отобразить что-то тогда, чтобы идентифицировать что-то (не для чего нужен GetHash?). Даже после реализации интерфейса Iserailizable на моем объекте он все еще использует метод ToString. Могу ли я определить где-нибудь, как сериализовать мой класс, а затем использовать ToString()? Мне кажется, что я полностью ошибаюсь.