我无法将部分视图显示在" 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>
答案 0 :(得分:1)
从
更改您的代码$(self).find('.display-groups').html(data);
到
$("#searchList").find('.display-groups').html(data);
因为这里'self'是由于这段代码而触发事件的DOM元素
var self = this;
所以它找不到具有“display-groups”类的div