Получить значение из @Model внутри jquery script
Как получить значение из @Model
внутри jquery script. Я хочу получить некоторое свойство по индексу (определенному выбором строки в моей пользовательской таблице) из моей модели, которая является IEnumerable<T>
. Я не хочу показывать это свойство в таблице и делать что-то вроде cell .val()
например:
var selectedRow = $(this).parent().children().index($(this)) - 1;
и я хочу что-то вроде
@Model.ElementAt(selectedRow).SomeProperty
внутри script
Спасибо
Ответы
Ответ 1
@Model - это объект .NET(серверный), ваши сценарии JQuery работают на стороне клиента и работают с объектами JavaScript. Вы не можете напрямую обращаться к объектам .NET на стороне сервера из клиентского кода - вам понадобится сериализация вашей модели JSON (или, может быть, только те объекты, которые вас интересуют). Затем внутри script вы можете сделать что-то вроде
var model = @Html.Raw(Json.Encode(Model))
чтобы получить вашу модель в переменной JavaScript, а затем получить доступ ко всему через "модель".
Ответ 2
используйте атрибуты данных html5 в вашем представлении.., чтобы сделать вашу модель доступной в html
затем обращайтесь к ним через js