Частичное представление не рендеринг бритвы MVC - PullRequest
3 голосов
/ 30 марта 2012

Я впервые использую частичные представления, и я не могу получить фактическое частичное представление.Вызывается функция ajax, срабатывает контроллер, и предупреждение в вызове ajax показывает мне, что здесь есть частичное представление.Но с ошибками, записанными на консоль (или предупреждение), мой div остается таким же пустым.Мое приложение - приложение MVC4, но я уверен, что где-то допустил глупую ошибку, и это не ошибка MVC:)

После нескольких часов поиска в Google, я был бы рад, что кто-нибудь может мне помочьполучить это работает, и все советы / комментарии по коду / ajax, я очень ценю!

public PartialViewResult Groups()
{
        var person = _userRepository.GetCurrentUser();
        var connections = (from c in person.Person1 select c).ToList();
        var groups = _context.Groups.Where(g => g.GroupId == 1);

        var all = new GroupViewModel()
                      {
                          Connections = connections,
                          GroupDetailses = (from g in groups
                                            select
                                                new GroupDetails
                                                    {
                                                        Name = g.Name,
                                                        StartDate = g.StartDate,
                                                        StartedById = g.StartedById,
                                                    })

                      };
        return PartialView("Groups",all);
}

Мой PartialView

@model Mvc4m.Models.GroupViewModel

<h2>Groups</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<h3>Create new Group</h3>
<div class="ui-widget">
    <label for="group">Groupname: </label>
    <input id="group" />
    <button onclick="addGroup()">Add</button>
</div>

@foreach (var item in Model.GroupDetailses)
{
    @Html.LabelFor(model => item.Name)<text> : </text>
    @Html.DisplayFor(model => item.Name)
}
<script>
    function addGroup() {
        $.get(
                "/Profile/AddGroup",
                {
                    Name: $("#group").val()
                });
        location.reload();
    };
</script>

Мой вызов Ajax на профиль / индекс

@model Mvc4m.Models.ProfileView

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<div id="test" style="background-color:Aqua; width:200px; height:100px"></div>

<button onclick="load()"></button>

<script type="text/javascript">
function load() {
    $.ajax({
        type: "GET",
        url: '/Profile/Groups',
        dataType: 'html',
        success: function (response) {
            $('#test').html(response);
            alert(response);
        },
        error: function (xhr, status, error) {
            alert(status + " : " + error);
        }

    });
}

</script>

1 Ответ

0 голосов
/ 30 марта 2012

Оказывается, код работает, перезапуск Visual Studio сделал свое дело! Как я иногда ненавижу VS ...

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