0

I have a local variable called mode in JQuery function. Based on the radiobutton selection, this variable value is set in JQuery function.

Now i want to access this value in COntroller? How can we do this.

$(':radio').click(function() { var mode = this.value; });

Now How can I access this mode variable in my controller method.

[HttpPost] public ViewResult ExportToExcel(string mode) { }

Appreciate your responses.

Thanks

4 Answers 4

2

Have you thought about creating a hidden field on the page and then updating its value from jQuery? You can then just read in this value as an additional POST field when the page is submitted to the server.

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

Comments

1

You should perform either synchronous request (form submit with mode variable set) or AJAX POST request, depends on your application design

Comments

0

because mode is declared inside the anonymous function, it cannot be access outside of it. you can create a callback that uses the mode variable, or make it more global so you can access it outside the function.

Comments

0

You can do something like (or any other ajax method you want to call there); $.post('yourController/ExportToExcel/'+mode,.../the rest of the params/);

in your anonymous function to make it like;

$(':radio').click(function() { var mode = this.value; $.post('yourController/ExportToExcel/'+mode,.../the rest of the params/); });

2 Comments

I tried $.post('Home/ExportToExcel', {"mode": mode }); Still the value of mode in controller is null.
Did you try my given url format with your controller function: [HttpPost] public ViewResult ExportToExcel(string mode) {} ? that way, you will have the value of mode in 'mode' parameter

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.