JQuery — одна из наиболее распространенных библиотек, используемых сегодня в веб-разработке, и она очень часто используется разработчиками ASP.NET MVC не только для улучшения взаимодействия с пользователем, но и для предоставления динамического содержимого пользователям своих веб-приложений с использованием различных типов вызовов AJAX. поддерживается JQuery. JQuery предоставляет несколько методов, таких как get, getJSON, load, post, ajax, которые можно использовать для вызова различных типов действий контроллера ASP.NET MVC. В этом руководстве я покажу вам, как вы можете использовать метод get JQuery для вызова действий ASP.NET MVC.
Начиная
Использовать jQuery с ASP.NET MVC очень просто, поскольку его последняя версия поставляется с ASP.NET MVC. Чтобы использовать jQuery, вам просто нужно включить следующий тег скрипта либо в раздел ‹head› страницы Layout.master, либо внизу перед закрывающим элементом ‹/body› для более быстрой загрузки страницы.
<script src="<%= Url.Content("~/Scripts/jquery-1.3.2.js") %>" type="text/javascript"></script>
Это загрузит библиотеку jQuery из папки содержимого и сделает ее доступной на странице.
Сценарий 1. Вызов метода действия, возвращающего строковое содержимое
Предположим, что у вас есть действие, которое возвращает строковое содержимое в представления следующим образом:
public class HomeController : Controller { public string GetDateTimeString() { return DateTime.Now.ToString(); } }
Чтобы вызвать этот метод действия с помощью jQuery, вы можете использовать функцию «get» jQuery, как показано ниже:
var url = "/Home/GetDateTimeString"; $.get(url, null, function(response) { $("#getDateTimeString").html(response); });
Метод jQuery get — это вспомогательный метод, который генерирует запрос AJAX GET. Первый параметр — это URL-адрес метода действия, второй параметр может использоваться для передачи дополнительных параметров методу действия, а третий — функция обратного вызова, которую необходимо вызвать при получении ответа от метода действия. Функция обратного вызова принимает один параметр «ответ», который содержит содержимое строки. Ниже приведен вывод результата, полученного с сервера:
6/4/2015 12:38:41 PM
Сценарий 2. Вызов метода действия, который принимает параметры и возвращает строковое содержимое.
Это почти тот же сценарий, что и предыдущий, за исключением того, что на этот раз метод действия ожидает параметр в запросе. Чтобы передать параметры метода действия, мы можем использовать второй параметр функции «get» jQuery.
public string LowerCaseString(string input) { return input.ToLower(); }
Вы можете использовать следующий код JavaScript для вызова этого метода действия из метода JQuery get:
var url = "/Home/LowerCaseString"; $.get(url, { input: "MAKE THIS TEXT LOWERCASE" }, function(response) { $("#getLowerCaseString").html(response); });
Вывод приведенного выше кода будет следующим
make this text lowercase
Сценарий 3: вызов метода действия, который принимает параметры и возвращает JSON
До сих пор мы играли с простыми строками. Теперь представьте, что вы хотите динамически получать более сложные данные с сервера, и данные отформатированы в JSON. Например, представьте, что мы хотим получить информацию об ученике с сервера. В частности, предположим, что у вас есть следующий класс StudentInfo и метод действия GetStudentInfo:
public class StudentInfo { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public int Fee { get; set; } } public JsonResult GetStudentInfo(int studentId) { StudentInfo contactInfo = new StudentInfo { FirstName = "Bob", LastName = "Cravens", Fee = 2000, Age = 23 }; return Json(contactInfo, JsonRequestBehavior.AllowGet); }
Обратите внимание, что метод действия теперь возвращает «JsonResult». Этот метод действия можно вызвать с помощью следующего кода JavaScript:
var url = "/Home/GetStudentInfo"; var id = 123; $.getJSON(url, { studentId: id }, function(data) { $("#name").html(data.FirstName + " " + data.LastName); $("#fee").html(data.Fee); $("#age").html(data.Age); });
Вы можете просмотреть ответ на вызов AJAX, поступающий в формате JSON, с помощью инструментов разработчика браузера. Например, браузер Google Chrome показывает следующий JSON, поступающий с сервера.
Обратите внимание, что данные ответа теперь отформатированы в формате JSON. Возвращаемые данные могут быть помещены внутрь любого элемента html, например, span, как показано ниже:
<h3>Student Information</h3> <table> <tr> <td>Name</td> <td><span id="name"></span></td> </tr> <tr> <td>Fee</td> <td><span id="fee"></span></td> </tr> <tr> <td>Age</td> <td><span id="age"></span></td> </tr> </table>
На выходе будет следующее:
Student Information Name Alex Johnson Fee 2000 Age 23
Первоначально опубликовано на https://www.ezzylearning.net 4 июня 2015 г.