2011-04-22 151 views
1

我不能在這個例子解釋模型綁定行爲:ASP MVC模型綁定

enum Gender 
{ 
    Male, 
    Female 
} 

@model Gender 
@Html.ActionLink("Test", "Index", new { gender = Model }); 

public ActionResult(string gender) 
{ 
    ViewBag.Gender = gender; 
    return View() 
} 

爲什麼它的工作原理 - 字符串參數性別行動中正確的訪問枚舉類型?

回答

2

它的工作原理是絕對一切都可以通過object.ToString()轉換爲string。此外,它發生在Enum轉換產生了一些有用的東西;枚舉值的名稱的文本。

在大多數情況下,默認活頁夾可以在這些值之間來回轉換, 加數字轉換。

+0

謝謝!但是當你說「大多數情況下是數字的」時,這意味着什麼 - 當它的默認聯編程序不能轉換它時? – Boo 2011-04-22 13:14:35

+0

「在大多數情況下」是錯誤的措詞,我認爲......因爲這是一個不真實的陳述!字符串是你想要使用的。對我來說這似乎很奇怪,因爲一般情況下,通過簡單的轉換就可以在兩個方向上在'int'和'enum'之間進行轉換,而Enum.Parse()'不完全直觀。 – 2011-04-22 13:17:23