2

"[\"1454\",\"1455\",\"1456\",\"1457\",\"1458\",\"1459\"]"

I am getting a json string in my string variable in a action method that I am sending as json.stringify. These Are the id's of selected rows from jqgrid..

I just want to create an array of the Id's I am getting . I do not want the others like backslash or forward or double qutes.

Can you pl.Help me . How is this possible in C#

Controller::
 public ActionResult ExportSelectedData(string SelectedRows)
        {
}

View Code::
function genGraph() {
        // location.href = "/WebReports/BatchReport";
        var selRowIds = $("#list1").jqGrid('getGridParam', 'selarrrow');
        var Array = JSON.stringify(selRowIds);

        $.ajax({
            type: 'POST',
            url: '/WebReports/ExportSelectedData',
            data: "{'SelectedRows':'" + Array + "'}",
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (returnValue) {
                location.href = "/WebReports/Download?file=" + returnValue.File;
            }
        });
        alert(Array);
2
  • 1
    Probably it will be easier for you to use selRowIds.join() (or selRowIds.join(",")) to make string 1454,1455,1456,1457,1458,1459 instead of ["1454","1455","1456","1457","1458","1459"]. So you can use data: {SelectedRows: selRowIds.join()} as parameter of Ajax. On the server side you can use string[] selRows = SelectedRows.split(','); to parse the data. Commented Apr 14, 2014 at 12:39
  • You can try to use the approach with ModelBinder or simple use object with int[] or string[] as a property here alternatively. Commented Apr 14, 2014 at 14:49

1 Answer 1

3

this should work use Newtonsoft.Json Library

string[] strings = JsonConvert.DeserializeObject<string[]>(jsonData);

below is the fiddle

http://dotnetfiddle.net/t5kBoy

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

4 Comments

Hello Sir. The above thing is working quite well but can it be possible to get the json string in simple string object and not as an string array?
simple string means? you want comma separated ?
yes sir.Actually I want it to send to store procedure for using "in" operator.I want to get records from table where Id in(Above array)..
check the edited fiddle ...and tell if it is correct

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.