【发布时间】:2013-01-27 11:42:46
【问题描述】:
我正在尝试构建一个自动完成文本框。我的脚本在 Razor View 页面如下:
@model AutoComplete.Models.Country
@{
ViewBag.Title = "Index";
}
@Scripts.Render("~/bundles/jquery")
<h2>Index</h2>
@Html.TextBoxFor(m => m.CountryName, new { Class = "field" })
<div class="keys"></div>
<script>
$(function () {
$('.field').keyup(function () {
$.ajax({
url: "./js/" + $('.field').val(),
success: function (result) {
}
});
});
});
</script>
我的控制器方法是:
public ActionResult SearchByKey(string keyword)
{
CountryContext db = new CountryContext();
var result= db.Countries.Where(x => x.CountryName.Contains(keyword));
return Json(result , JsonRequestBehavior.AllowGet);
}
我的控制器返回 Json 数据如下:
[{"CountryId":"1","CountryName":"India"},
{"CountryId":"2","CountryName":"Indonesia"}
]
我想 1]解析此数据和 2]将其附加到上述视图页面中的文本框。我该怎么做?
【问题讨论】:
-
您可以通过将
dataType: "json"添加到您的$.ajax()参数来涵盖解析方面。这告诉函数期待 JSON 格式的响应。 -
@diggersworld 添加数据类型后无效
-
success回调中result的值是多少? -
@Alexander 当我提醒结果时,它说 [object Object], [object Object]
-
试试
alert ($.parseJSON(result));并告诉我们结果
标签: jquery asp.net-mvc json asp.net-mvc-4 jquery-autocomplete