【发布时间】:2015-04-13 20:35:24
【问题描述】:
这是我的视图和控制器。我已经将代码从 c# 转换为 vb,代码在 C# 中运行良好,但我不知道为什么这个 java 脚本在 vb 中不起作用。我开始调试,但是当我在搜索框中输入内容时,控制器永远不会被调用。
查看代码
@ModelType PrudentHealthCare.Product
@Code
Layout = Nothing
End Code
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Search</title>
</head>
<body>
<div>
@Using (Html.BeginForm())
@Html.HiddenFor(Function(model) model.id)
@<input type="text" id="search" placeholder="Search for a product" required />
@<input type="submit" value="Go" id="submit" />
End Using
</div>
</body>
</html>
<link href="~/Content/AutoComplete/jquery-ui.css" rel="stylesheet" />
<script src="~/Content/AutoComplete/jquery-ui.js"></script>
<script src="~/Content/AutoComplete/jquery-1.9.1.js"></script>
<script type="text/javascript">
var url = '@Url.RouteUrl( "DefaultApi" , New With { .httproute = "", .controller = "ProductApi" })';
$('#search').autocomplete({
source: function (request, response) {
$.ajax({
url: url,
data: { query: request.term },
dataType: 'json',
type: 'GET',
success: function (data) {
response($.map(data, function (item) {
return {
label: item.Description,
value: item.Id
}
}));
}
})
},
select: function (event, ui) {
$('#search').val(ui.item.label);
$('#Id').val(ui.item.value);
return false;
},
minLength: 1
});
</script>
ProductApiController
Imports System.Web.Mvc
Namespace Controllers
Public Class ProductApiController
Inherits Controller
<HttpGet>
Public Function GetProducts(Optional query As String = "") As IEnumerable(Of Product)
Dim xyz As String
xyz = query
End Function
End Class
End Namespace
【问题讨论】:
-
你检查浏览器控制台是否有错误?
-
不,我没有检查过。如何在浏览器控制台的帮助下检查 javascript 是否运行良好。我有萤火虫,但我认为它不会做这种事情
-
你可以在火狐上完成。见here
标签: json asp.net-mvc vb.net autocomplete