我在尝试什么:
使用 Asp.Net MVC3 / JQuery 将 id 传递给控制器获取结果并在 UI 中显示结果
我做了什么:
我有一个 contoller( [HttpPost] Index(Int? id)
) ,它返回 listDetails 来查看
我有一个文本框,它通过 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();
}
});
}
});
});
});