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

2 Answers 2

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".

Sign up to request clarification or add additional context in comments.

2 Comments

This is great! now I just need to query my json, but this approach is very neat.
ASP.NET Core syntax is @Html.Raw(Json.Serialize(Model))
-1

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.