私はasp.netmvc4VB.NETをjquery1.8.3とjquery-ui1.9.2で使用しており、タイトルが示すように、コントローラーへのjqueryコールバックは空のモデルを提供します。関数は呼び出されますが、モデルのプロパティが設定されていません。シナリオは次のとおりです。いくつかのliが含まれている順序付けされていないリストがあります。liをクリックすると、liの非表示フィールドから値を取得します。この値は、私が渡そうとしているモデルです。コントローラーでのアクションでは、提供されたモデルで部分ビューを設定し、これを返します。次に、返された部分ビューでdivを上書きして、jqueryスクリプトを完成させます。
コードは次のとおりです。
リスト付きのHTMLdiv
<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が正常に上書きされます。どういうわけか、それはエラーになります。
私たちは一緒にそれを解決できることを願っています!