2008-11-13 81 views
1

我希望我的術語是正確的。不,編輯。Html.BuildUrlFromExpression參考動作類型參數

從我的Linq2Sql類中我有一個Color類。 我的控制器的一個動作接受這個Color類的一個實例。

我想創建一個鏈接,這個動作讓我用

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

哪裏ViewData.Model.ActiveColor偏離航線顏色的上述實例。
這使得如下:

/顏色/詳細顏色= - 不正是我腦子裏想的關閉過程..

我在做什麼錯?我應該開始創建自定義ModelBinder嗎?

編輯
我發現「 - 」來自哪裏。 ActionLink正在調用ToString。這很奇怪,因爲我看到更多的方式來顯示某些東西然後去識別某些東西(不是GetHash的目的是什麼?)。 即使在我的對象上實現Iserailizable接口之後,它仍然使用ToString方法。我可以在某處定義如何序列化我的類,而不是使用ToString()?我感覺我完全走錯了路。

回答

1

Actionlink的確在調用ToString()。我用日期遇到了同樣的問題。在我的網址中,我希望日期是dd-mm-yyyy而不是默認的DateTime.ToString()。

第一種選擇是重寫Color的ToString()方法。如果這是不可能的(與DateTime一樣)還有其他方法,但它們有點「哈克」...