Reputation: 2673
How can I pass my client side variable to controller using Url.Action.
I am trying to do like this, but it's not working
location.href = '@Url.Action("printtopdf","batch",new {allocationId=unSelected}))';
In the above line 'unSelected' is a client side variable and comma separated values.
Upvotes: 3
Views: 11313
Reputation: 1295
I think this will work for you. I find it a bit more cleaner and is an alternative option.
window.location = "/batch/printtopdf?allocationId=" + unSelected;
It stands for
window.location = "/yourControllerName/yourActionMethodName?QueryStringId=" + yourVariable;
Upvotes: 5
Reputation: 9901
@Url.Action
creates the link on the server, but unSelected
only exists on the client. What you would need to do is append the unSelected querystring to the generated link.
location.href = '@Url.Action("printtopdf","batch",new {}))' + '?allocationId=' + unSelected;
Edit:
The way I'm creating the link assumes that the link will not have any other queryString parameter, otherwise, you'll need to conver the '?' to '&'
Upvotes: 4