0
我在控制器下面的代碼:jQuery的自動完成ASP.Net不工作
public JsonResult FindProduct(string searchString)
{
var productsName = from c in db.Products
where c.ProductName.Contains(searchString)
select new { value = c.Barcode, label = c.ProductName };
return this.Json(productsName, JsonRequestBehavior.AllowGet);
}
在我看來,下面的代碼:
<script type="text/javascript">
$(document).ready(function() {
$("#productName").autocomplete({
source: '<%= Url.Action("FindProduct") %>',
select: function (event, ui) {
var prodBarcode = ui.item.value;
$("#productName").val(ui.item.label);
$("#productBarcode").val(ui.item.value);
return false;
}
});
});
</script>
<div class="ui-widget"><input type="text" name="productName" id="productName" /></div>
出於某種原因,查找產品信息(字符串搜索字符串)是從未打過電話自動填充不起作用。我的腳本中是否還需要其他內容?
我假設你以前沒見過這個構造?這是asp.net MVC中用於生成Action URL的普遍接受的方法。這是因爲如果動作的位置或路由改變了,JS代碼不需要更新。有時候,確切的路由需要由服務器端根據規定的規則進行計算,但這可能並不容易解決,並且難以編碼。大多數人同意這樣做比對硬編碼MVC應用程序的URL更好。 – ADyson