none
ViewModel в частичном представлении в _Layout'е RRS feed

  • Вопрос

  • Добрый день. Перед мной встала задача что бы в layout'e в частичном представлении выводились определенные данные. Пришел к выводу что лучшим выбором будет использовать ViewModel.

    Итак как я делаю:

    в контроллере StaticController.cs

     [ChildActionOnly]
            public PartialViewResult _LogOnPartial()
            {
                var user = _securityService.GetUserById(Int32.Parse(User.Identity.Name));
                LayoutViewModel userInfo = new LayoutViewModel();
                userInfo.FitstAndLastName = String.Concat(user.FirstName, user.LastName);
                userInfo.LastLogOn = user.DateLastLogin.ToLongTimeString();
    
                return PartialView("_LogOnPartial",userInfo);
            }


    далее само частичное представление _LogOnPartial

    @model Ghost.Domain.ViewModel.LayoutViewModel
    <div class="dropdown" style="height: 40px;">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" style="height: 67.5%">@Html.LabelFor(model=>model.FitstAndLastName)<img src="~/Content/Dashboard/img/avatar.png" alt="" /></a>
        <ul class="dropdown-menu pull-right" style="font-weight: 100">
            <li>
                <a href="#">@Html.LabelFor(model=>model.LastLogOn)</a>
            </li>
            <li>
                <a href="#">Профиль</a>
            </li>
            <li>
                <a href="#">Редактировать</a>
            </li>
            <li>
                <a href="@Url.Action("SignOut", "Account")">Выход</a>
            </li>
        </ul>
    </div>
    

    и собственно вызов в Layout

                <div class="user">
                    @Html.Action("_LogOnPartial","Static")
                </div>

    Но вот с чем я столкнулся и не знаю как решить: я при пошаговом выполнении вижу что модель  в контроллере заполняется, но на странице данных нет, вместо них выводится просто имена свойств модели. Почему то в представлении данные не попадают.

    Не знаю на сколько это важно, я использую подход IoС.

    Может кто нибудь знает как все таки передать модель сданными на частичное представление, которое будет выводиться на всех страницах.

    2 февраля 2014 г. 18:47

Ответы