0
我想使用引導typeahead,但不能讓它調用我的行動(ASP.NET MVC 4)。以下是呈現在瀏覽器中:行動方法沒有得到調用
<div class ="control-group">
<div class="controls">
<input autocomplete="off" data-provide="typeahead" data-url="/GetPets" id="Pets" type="text" />
</div>
</div>
<script type="text/javascript">
$(function() {
$('[data-provide=typeahead]').each(function() {
var self = $(this);
self.typeahead({
source: function (term, process) {
var url = self.data('url');
return $.getJSON(url, { term: term }, function (data) {
return process(data);
});
}
});
});
});
我控制器的方法看起來像
[HttpGet]
public JsonResult GetPets(string term)
{
// get data from DB. Here for simplicity sake I just make data up
var nameList = new List<string>
{
"Dog", "Cat", "Ant", "Alligator", "Beaver", "Camel", "Clam", "Dragonfly", "Goat"
};
var results = nameList.Where(n => n.ToLower().Contains(term.ToLower()));
return new JsonResult()
{
Data = results.ToArray(),
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
在'GetPets'動作上設置了一個斷點。確保它被擊中。如果不是,你需要確保'data-url =「...」'有合適的數據。 – Dmitry
德米特里,它從來沒有得到這個動作... – Rafet
然後指定控制器名稱:'.Controller(「WhateverControllerName」)' – Dmitry