我正在使用带有 jquery 1.8.3 和 jquery-ui 1.9.2 的 asp.net mvc 4 VB.NET,正如标题所示:我对控制器的 jquery 回调给了我空模型。该函数确实被调用,但没有设置我的模型的属性。这是场景:我有一个无序列表,里面有几个 li。当我点击 li 时,我从 li 的隐藏字段中获取值。这个值是我试图传递的模型。在控制器中的操作中,我使用提供的模型设置部分视图并将其返回。然后我用返回的部分视图覆盖一个 div 以完成我的 jquery 脚本。
这是代码:
带有列表的 HTML div
<div class="listContainer">
<ul>
@For Each attachment As EPower.eSuite.Model.DTO.HRCore.Attachment In Model.Documents
@<li>
<input type="hidden" value="@attachment" class="test" />
<a href="#">
<span class="title">@attachment.Filename</span>
<span class="description">@attachment.Tag.ID</span>
</a>
</li>
Next
</ul>
</div>
jQuery函数:
$('.listContainer ul li').on('click', function () {
var jsonModel = $(this).children('input.test').val();
$.ajax({
type: "POST",
url: '@Url.Action("SetPersonalDocumentPartial", "WhoIsWho")',
data: JSON.stringify(jsonModel),
dataType: 'json',
contentType: 'application/json',
error: function (t) {
$('.personalDocumentContent').html(t.responseText);
},
success: function (result) {
$('.personalDocumentContent').html(result);
}
});
});
MVC 控制器动作:
<HttpPost> _
Public Function SetPersonalDocumentPartial(ByVal attachment As Model.DTO.HRCore.Attachment) As ActionResult
Return PartialView("_ViewPersonalDocumentPartial", attachment)
End Function
当前工作的事情:我的函数成功调用了我的 MVC 操作,但未设置模型属性。将控制器中的模型设置为设定值时,我得到了部分返回,它成功地覆盖了我的 div。出于某种原因,它会出现错误。
我希望我们可以一起解决!