How do I update a model value in JavaScript in a Razor view?
asp.net-mvc, asp.net-mvc-3, javascript, razor
Solution
This should work
function updatePostID(val)
{
document.getElementById('PostID').value = val;
//and probably call document.forms[0].submit();
}
Then have a hidden field or other control for the `PostID`
@Html.Hidden("PostID", Model.addcomment.PostID)
//OR
@Html.HiddenFor(model => model.addcomment.PostID)
Problem
I want to update model value in JavaScript as below but it is not working. ``` function updatePostID(val) { @Model.addcomment.PostID = val; } ``` in Razor view as shown below ``` foreach(var post in Model.Post) { <br/> <b>Posted by :</b> @post.Username <br/> <span>@post.Content</span> <br/> if(Model.loginuser == Model.username) { @Html.TextAreaFor(model => model.addcomment.Content) <button type="submit" onclick="updatePostID('@post.PostID');">Add Comment </button> } } ``` Can anyone tell me how to assign model value in JavaScript?