@Model.Path is server side i.e. c# code, while this.value is java script code which is client side code, so the server side code will get executed when view is rendered while your js code with execute on particular event in your html.

What you need is to update the hidden value via javascript and it will post back in controller with updated value and will also work in html with the updated value.

Your hidden field will be rendered with id Path, so you can write :

document.GetElementById("Model").value = this.value;

or if you have jquery library included in your application, then you can make use of that as well:

$("#Path").val(this.value);

This way when the model will get posted back to controller, the Path property will have the updated value which would be the path you have assigned via js code.