私がしようとしていること:
コントローラーにIDを渡して結果を取得し、Asp.Net MVC3 / JQueryを使用してUIに結果を表示します
私がしたこと:
[HttpPost] Index(Int? id)
表示する listDetails を返す contoller ( ) があります。
jqueryを介してidをコントローラIndexに渡し、モデルとしてlistDetailsをViewに渡すテキストボックスがあります
今、私は表示しようとしています@Model.xyz.Name
コントローラーでブレークポイントとモデルを使用してコードをデバッグしようとしましたが、有効なデータが取得されました。
ビューでブレークポイントを試したところ、データが取得されました。
しかし、アプリケーションを実行すると、UI にデータがまったく表示されません。どこが間違っているのか教えてもらえますか?
コントローラーコード
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(int? Id)
{
if (Id.HasValue)
{
get list of values
return View(listOfValues);
}
コードを見る
@if (@Model != null)
{
@Model.Person.DisplayName
}
オートコンプリートを使用した Jquery コード (選択のトリガー)
$(document).ready(function () {
$(function () {
$("#tbxSearch").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Details/GetSearchData", type: "POST", dataType: "json",
data: { searchText: request.term, maxResults: 10 },
success: function (data) {
response($.map(data, function (item) {
return { label: item.label, value: item.label, id: item.value }
}))
}
})
},
select: function (event, ui) {
//alert(ui.item ? ("You picked '" + ui.item.label + "' with an ID of " + ui.item.id)
// : "Nothing selected, input was " + this.value);
$.ajax({ url: 'PersonDetails',
type: 'POST',
data: { id: ui.item.id
},
async: false,
success: function (result) {
// alert("Success");
//$('#DivDetails').show();
}
});
}
});
});
});