передать перечисление в строго типизированное частичное представление - PullRequest
2 голосов
/ 13 мая 2011

У меня строго типизированное частичное представление, которое получает перечисление:

@model MyEnum 
@{
   Layout = null
}
@if (Model == MyEnum.Value1) {
    //... dosomething
}
@if (Model == MyEnum.Value2) {
    //... do another thing
}

Я не могу правильно вызвать рендер частично

@{ Html.RenderPartial("MyPartialView", MyEnum.Value2); }

Есть идеи?

1 Ответ

3 голосов
/ 13 мая 2011

Кроме того факта, что вы пропускаете ; после нулевого макета, я не вижу, что вам мешает это сделать ( невозможно воспроизвести , как мне нравится говорить):

@{
    Layout = null;
}

Вот полный рабочий пример, иллюстрирующий, что это должно работать.

Модель:

public enum MyEnum
{
    Value1,
    Value2
}

Контроллер:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

Index.cshtml просмотр:

<div>
@{ Html.RenderPartial("MyPartialView", MyEnum.Value2); }
</div>

MyPartialView.cshtml частично:

@model MyEnum
@{
    Layout = null;
}
@if (Model == MyEnum.Value1) {
    <div>Value 1 was selected</div>
}
@if (Model == MyEnum.Value2)
{
    <div>Value 2 was selected</div>
}

который, как и ожидалось, выводит в результирующем HTML:

<div>Value 2 was selected</div>
...