我的Model类中有一个Generic列表。我希望在我的视图中有一个带有自动完成功能的文本框,用于填充通用列表中的数据。我怎样才能做到这一点?。
答案 0 :(得分:1)
为此你需要
服务器端的功能,它将返回匹配数据列表,并接受用户输入的字符串。
像这样的东西
public JsonResult AutoComplete(string input)
{
//Your code goes here
}
在视图中,对于文本框,您需要绑定 KeyDown 事件。你可以为此jQuery寻求帮助。在key down处理程序中,您将对您在Controller中定义的函数进行Ajax调用。有点像这样:
$.ajax({
url: '@Url.Action("AutoComplete", "ControllerName")',
data: 'input=' + sampleInput,
success: function (data) {
//Show the UL drop down
},
error: function (data) {
// Show Error
}
});
作为回应,您将获得字符串列表,您需要将其绑定到某些html元素,如“UI”。完成后,在文本框下方显示此UI并使用适当的CSS。使用jQuery,您也可以检索文本框的像素位置。
当您在MVC中开发应用程序(无视图状态)时,您无法在项目中使用Asp.Net自动完成框。我希望你明白这一点。