部分视图不会出现在点击中

时间:2016-02-11 10:41:29

标签: c# jquery asp.net-mvc partial-views

我无法将部分视图显示在" div"当我点击一个按钮。我可以看到它在调试时获取数据,但是不显示它。现在可能有问题的人吗?

查看

@model IEnumerable<ActiveDirectorySearch.Models.UserModel>

<div id="searchList">
    <table>
        @foreach (var user in @Model)
        {
            <tr>
                <td>
                    <ul class="user" data-user-id="@user.DistinguishedName">
                        <li><b>@user.DisplayName</b></li>
                        <li><i>Cdsid:</i> @user.CdsId</li>
                        <li><i>Name:</i> @user.GivenName  @user.SurName</li>
                        <li><i>Title:</i> @user.Title</li>
                        <li><i>Department:</i> @user.Department</li>
                        <li><i>MemberOf:</i> <a href="#/?searchTerm=@user.DistinguishedName" class="LoadGroupsViewButton">Groups</a></li>
                        <li class="userInfo"><a href="More Info">More Info</a></li>
                        <li>
                        </li>
                    </ul>
                </td>
            </tr>
        }
    </table>
    <div class="col-md-6 col-md-offset-3 display-groups">

    </div>
</div>

控制器

    public ActionResult GetUserInfo(string searchTerm)
    {
        GroupRepository groupRepository = new GroupRepository();
        var groups = groupRepository.FindGroups(searchTerm);

        return PartialView(groups);
    }

脚本

<script>
    $(function () {
        $('.LoadGroupsViewButton').click(function () {
            var self = this;
            var $user = $(self).closest('.user');
            var userDistinguisedName = $user.data("user-id");
            $.ajax({
                method: "GET",
                url: 'Home/GetUserInfo',
                data: { searchTerm: userDistinguisedName }
            }).done(function (data) {
                $(self).find('.display-groups').html(data);
            });
        });
    });
</script>

1 个答案:

答案 0 :(得分:1)

更改您的代码
$(self).find('.display-groups').html(data);

$("#searchList").find('.display-groups').html(data);

因为这里'self'是由于这段代码而触发事件的DOM元素

var self = this;

所以它找不到具有“display-groups”类的div