11

How can I get value from @Model inside jquery script. I want to get some property by index(determined by row selection in my custom table) from my Model which is IEnumerable<T> . I don't want to show this property in table and do something like cell .val()

for example :

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

and I want something like

 @Model.ElementAt(selectedRow).SomeProperty

inside script

Thanks

CD..
  • 72,281
  • 25
  • 154
  • 163
petro
  • 113
  • 1
  • 1
  • 4

2 Answers2

37

@Model is a .NET object (server-side), your JQuery scripts are running client-side and operate on JavaScript objects. You can't directly access server-side .NET objects from client-side code - you'll need to have some JSON serialization of your model (or maybe just the properties you're interested in). Then inside a script you can do something like

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

to get your model into a JavaScript variable, then access everything through "model".

Max Strini
  • 2,288
  • 21
  • 24
-1

use html5 data attributes in your view.. to make your model available in html then access them via js

Alexander Taran
  • 6,655
  • 2
  • 39
  • 60