Naresh
Naresh

Reputation: 2673

Pass a jquery variable to @Url.Action MVC3

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

Answers (2)

MVCKarl
MVCKarl

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

Andy T
Andy T

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

Related Questions