ASP MVC Модель Binder - PullRequest
       4

ASP MVC Модель Binder

1 голос
/ 22 апреля 2011

Я не могу объяснить поведение Model Binder в этом примере:

enum Gender
{
    Male,
    Female
}

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

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

почему это работает - строковый аргумент пола в действии правильно получает тип Enum?

1 Ответ

2 голосов
/ 22 апреля 2011

Это работает, потому что абсолютно все можно преобразовать в string с помощью object.ToString().Кроме того, на Enum случается, что преобразование производит что-то полезное;текст имени значения перечисления.

Связыватель по умолчанию может преобразовывать туда и обратно между этими значениями плюс числовые, в большинстве случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...