2014-02-13 2 views
0

Я создаю веб-приложение с приложением ASP MVC4. Я также использую TwitterBootstrapMVC api. Я пытаюсь сделать вид, где у меня есть выпадающий список вверху вместе с текстовым полем. Ниже приведена таблица людей. Выпадающий список будет содержать заголовки столбцов таблицы. Как только пользователь выберет столбец в выпадающем списке, он может ввести текстовое поле, чтобы сузить результаты в списке элементов в таблице ниже.ASP MVC 4 изменение элементов в списке как пользовательских типов

Например. В таблице много людей. Затем пользователь выбирает «Last Name» в раскрывающемся списке. Затем он переходит к типу Смита в текстовое поле. Когда он набирает каждого персонажа, результаты таблицы сужаются, только отображая людей с «s» в их фамилии. Когда в текстовое поле вводится «m», список людей сужается, чтобы показывать только людей с «sm» в их фамилии и т. Д.

Я знаю, как сделать таблицу, текстовое поле и т. Д. Я не знаю, как изменить результаты в таблице при вводе текста в текстовое поле без перезагрузки страницы.

+0

вам нужен ajax для этого, вам понадобится некоторый javascript, нужен пример? –

ответ

2

Вы можете использовать jQuery ajax и метод действий, который возвращает частичный вид, содержащий найденные данные и таблицу html table strucutre. Вот краткий пример:

public ActionResult Search(string searchTerm){ 
    var model = db.Users.Where(u => u.LastName.contains(searchTerm)); 
    return PartialView("_Students", model); 
} 

Script

$("#textBoxId").on("keyup change", function() { 
    var searchTerm = $(this).val(); 
    $.get("/Controller/Search", { searchTerm: searchTerm }, function(data) { 
     $("#tableId").html(data); 
    }); 
}); 

Вам просто нужно добавить еще один параметр в ваш метод действия для проверки того, что был выбран в выпадающем списке.

Прочтите больше: https://api.jquery.com/jQuery.get/

+0

Не вернется ли контроллер к обновлению страницы? – lamilambkin

+0

Нет. Это цель $ .get, позволяющая вам вызывать методы на вашем сервере без обновления вашей страницы. – WannaCSharp

+0

Я не знаком с кодом сценария, который вы предоставили. Я также использую бритву в качестве механизма просмотра. Где я могу добавить код скрипта? В какой-то взгляд? – lamilambkin

0

Что вы пытаетесь осуществить это автозаполнения текстовое поле. У jQuery есть хороший. Это довольно просто реализовать.

Или вы можете опробовать ASP.NET AJAX Control toolkit. Я сам этого не пробовал, поэтому я не уверен, насколько это просто/удобно.

+0

не совсем. Я хочу, чтобы texbox просто сузил результаты в таблице людей. – lamilambkin

+0

Это то, что делает текстовое поле автозаполнения. Это текстовое поле, которое при вводе выводит список доступных параметров, сужая их по мере ввода. Если я не понимаю ваш вопрос. – user2359695

Смежные вопросы