Подтвердить что ты не робот

Получить значение из @Model внутри jquery script

Как получить значение из @Model внутри jquery script. Я хочу получить некоторое свойство по индексу (определенному выбором строки в моей пользовательской таблице) из моей модели, которая является IEnumerable<T>. Я не хочу показывать это свойство в таблице и делать что-то вроде cell .val()

например:

var selectedRow = $(this).parent().children().index($(this)) - 1;

и я хочу что-то вроде

 @Model.ElementAt(selectedRow).SomeProperty

внутри script

Спасибо

4b9b3361

Ответ 1

@Model - это объект .NET(серверный), ваши сценарии JQuery работают на стороне клиента и работают с объектами JavaScript. Вы не можете напрямую обращаться к объектам .NET на стороне сервера из клиентского кода - вам понадобится сериализация вашей модели JSON (или, может быть, только те объекты, которые вас интересуют). Затем внутри script вы можете сделать что-то вроде

var model = @Html.Raw(Json.Encode(Model))

чтобы получить вашу модель в переменной JavaScript, а затем получить доступ ко всему через "модель".

Ответ 2

используйте атрибуты данных html5 в вашем представлении.., чтобы сделать вашу модель доступной в html затем обращайтесь к ним через js