假设我有一个包含以下字段的视图模型:
UserId, FirstName, LastName, City, State, Zip
当页面加载时,它会显示一个用户表,但只显示FirstName,LastName和“Details”按钮。如果单击该按钮,则会显示一个弹出窗口,其中显示视图模型中的所有字段。
我不确定如何做到这一点。如果我将按钮绑定到 UserId ,我是否可以在视图模型中找到要在弹出窗口中显示的特定记录?或者我需要POST到控制器?
使用代码更新
我在下面发布了相关的代码段。当我单击Details链接时,我希望用户详细信息显示在部分视图中创建的bootstrap弹出模式窗口中。但它正在打开一个新的浏览器窗口并只显示一个JSON字符串?
从主视图
<td><a href="@Url.Action("AdminGetUserDetails", "Admin", new { Id = user.Id })"> Details</a></td>
控制器
public ActionResult AdminGetUserDetails(string Id)
{
AdminUserDetails userDetails = new AdminUserDetails();
userDetails = _adminRepository.AdminGetUserDetails(Id);
return Json(userDetails, JsonRequestBehavior.AllowGet);
}
的jQuery
function getAdminUserDetails(userId) {
$.ajax({
url: '@Url.Action("AdminGetUserDetails", "Admin")',
type: 'GET',
dataType: 'json',
cache: false,
data: { id: id },
success: function (userDetails) {
$('#UserId').val(userDetails.UserId);
$('#UserName').val(userDetails.FirstName);
$('#Email').val(userDetails.Email);
$('#Avatar').val(userDetails.Avatar);
$('#City').val(userDetails.City);
$('#State').val(userDetails.State);
}
});
}