検索が行われるビューがあり、次にすべてをコントローラーに渡し、コントローラーが検索して部分ビューを返します。
ビューをデバッグすると、渡したモデルが正しいことがわかりますが、ブラウザには何も表示されませんか?
考えられる解決策
両方のビューが既にレンダリングされているため、ajax コールバック関数にすべてを追加する必要がありますか?
すべてがモデルと呼ばれ、部分ビューに結果が渡されます。「結果」ビューをデバッグすると、モデルが反復処理され、すべてが正常に表示されます。しかし、ブラウザには何も表示されませんか? それに応じてdomを更新しないかのように?!
これが私のコードです!
メインビュー
<div style="width: 700px; margin-top: 30px;">
<div style="float: left; width: 200px;">
<table id="certificate">
<thead> Certificates</thead>
<tbody>
</tbody>
</table>
</div>
<div style="float: left; width: 200px;">
<table id="courses">
<thead> Courses</thead>
<tbody>
</tbody>
</table>
</div>
<div style="float: left; width: 200px;">
<table id="prevexp">
<thead> Previous Exp.</thead>
<tbody>
</tbody>
</table>
</div>
<div style="float: left; width: 100px;">
<table id="country">
<thead>Countries</thead>
<tbody>
</tbody>
</table>
@Html.Partial("Result", new MvcApplication2.Models.ViewModel.Search.SearchResult())
</div>
結果 VIEW @model MvcApplication2.Models.ViewModel.Search.SearchResult
@{
ViewBag.Title = "Result";
}
<h2>Result</h2>
<table>
@foreach (var item in Model.SearchResults) {
<tr>
<td> <b>
@item.Value.FirstName @item.Value.SurName
</b>
</td>
</tr>
foreach (var ic in item.Value.Certificates)
{ <tr>
<td>
@ic.CertificateName -- @ic.SearchType
</td>
</tr>
}
}
</table>
AJAX 呼び出し
$('#ajaxsearchbutton').live("click", function (e) {
var form = {};
form = $("#theform").serialize()
$.post("Search", form, function (data) {
alert("I'm Callbacked");
});
});
コントローラ
return PartialView("Result", _sr);