Javascript - Tuple<string, Int> JSON To Pass To Wcf?
Mar 29, 2011
how to pass this via Json.Tried doing something like
var data = { Item1: "test", Item2: 5 };
var JSONdata = $.toJSON(data);
However that did not work. Although simply changing wcf to expect an object with two properties such as Item1 and Item2 will work. Here is example I'm using... I'll trim it a bit to make it easier to read:
function Post(data, url)
{
$.ajax({
type: 'POST',[code].....
I use the JavaScriptSerializer class of ASP.net to serialize my object and return it to the client side. How can I deserialize the string using JavaScript?
As it is now I create a JavaScript object and then stringify it, put it in a hidden textbox and my code behind can read this string. I then use JSON.NET to parse the string which works fine. I now try to use ajax to post it to my web service but have some issues with how to send the string. I have tried many ways but gets the common errors like
Invalid JSON primitive: myString.
So I checked this out [URL] and it works with hard coded values but I want to use a variable.
JavaScsript to create the object:
for (var i = 0; i < results.rows.length; i++) { var row = results.rows.item(i); var customer = new Object(); customer.id = row['id'] customer.name = row['name'] var customerString = JSON.stringify(customer); $.ajax({ type: "POST", url: "synchronise.asmx/synchroniseCustomers", data: "synchroniseCustomers: " + customerString, contentType: "application/json; charset=utf-8", dataType: "json", error: function (xhr, status) { alert("An error occurred: " + status); }, success: function (msg) { alert("success"); } }); }
WebMethod:
public void synchroniseCustomers(string customerString) { JObject o = JObject.Parse(customerString); string id = (string)o["id"]; string name = (string)o["name"];
If I use data: '{ FirstName: "Dave", LastName: "Ward" }'
in the example above it works but I wish to pass on a string instead.
Code: function excelGrid(strId, blnDoReader) { var wesPC = $("#" + strId); var objWebParam = {}; var arrGrid = [];
[Code] ....
I am modifying this now - passing in the variable strWebParam which is the "stringified" version of a JSON array. And then in the function below I am trying to get the JSON-string into the POST. I tried the INPUT/TYPE=HIDDEN method you see below - but that did not work (cut off the string - it's got quotes in it)
Code: $.downloadExcel = function(url, data, source, method, callback) { var inputs = ''; var iframeX; var downloadInterval; if (url && data) {
[Code] ....
When I do a regular AJAX post for something I use the "data" element of the $.ajax method like this
I am creating one Json array object and trying to pass it in MVC controller action method but i am getting null paramerter; as per my knowledge json only maps .net primitive datatypes.... so it assign null value.
Note: when i have look at request object i found that there are three parameter of created array. But how to get that value as parameter of function?
public class Package { public Package() { name = ""; type = new List<Dictionary<string, string>>(); } public string name { get; set; } public List<Dictionary<string, string>> type { get; set; } } [code]...
Got a werid problem with a view, if i define it with Inherits="System.Web.Mvc.ViewPage<List<Tuple<string, DateTime?, double?, double?, double?>>>" i get the werid error: CS1003: Syntax error, '>' expected Line 118: public class views_report_intrestcalc_aspx : System.Web.Mvc.ViewPage<List<Tuple<string, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
But it workes perfectly if i remove the last", double?".A bug in the asp.net comiller?
I have some textboxes and a table of data created client side that I want pass to a controller as JSON.
I want to use Jquery to enumerate the table.
Assume I have 2 textboxes called name and age. Assume a table with 2 columns. one column with class called phonetype and one column class called phonenumber.
I am developing a web application where in i have a WCF service which interacts with the database using entity framework. I want to get rid of creating Classes for each & every LINQ query e.g
public class Emp { public int CD{get;set;} public string Name{get;set;} } public List<Emp> GetServTypeForPromotionDue() { return (from a in Context.TableName select new Emp{ a.CD, a.NAME }); }
for other table & LINQ i have to create a separate class every time. Alternative to this is to use Anonymous method which is not preferable solution. To avoid both the methods I am using Tuple Class where I return List> or List> depending on the return type. This works fine but the problem is I am binding the result of LINQ query directly to a Gridview By default Tuple has properties item1,item2,..& so on. So my griview shows these names are column names so, Is there any way I can change the property name to CD, Name instead of Tuple's Item1, Item2 before binding to grid?
I have a ASP.NET MVC 1.0 app.I have a listbox on the page and I want to pass an array to the webpage so that javascript can use the array to do some processing depending on the item picked in the listbox.So I thought the best way is to pass JSON data to the webpage on load.So what is the best practice on how to do this?Can you please give me a brief step by step process.How do pass the array as JSON and how do I access it by index?
Basically, my question is: how do I specify optional parameters to a WebMethod when providing JSON data?
I know I can reduce the parameters down to just the required values, and then use HttpContext.Request.Params to read the values of optional paramaters, but I would have thought the way I have tried here should have worked.
EDIT
The XMLHttpRequest.responseText value for the error is:
Invalid JSON primitive: staffcode.
This is throwing me even more off the scent of the problem :(
i want to use MVC 2 actions to pass JSON data to a 3rd party application via a URL.The URL will be in the form of http://www.abc.com/controller/action..I am using JSonResultHow can i test the output of this URL to ensure the JSON is properly formed..
I am developing a webiste in ASP.NET. On one of the pages page named menu.aspx, with the help of a certain login, I am getting the output in this format
foo({"1":"Jeff","2":"Mik","5":"Tom"});
I am using this code to get the output on the JSON form.
[Code]....
However, I must get the output only in simple JSON on the page without any HTML.
For eg: Here's the screenshot showing the source of the output page. [URL]
Notice that it has only the JSON string as the output.
And here's the screenshot showing the output page source (with HTML). [URL] .This HTML is what I have to remove. How can do I do this? The full code of menu.aspx.cs is putup here. [URL]
I'm using Json.NET and I'm trying to create a JSON string representing a row from a database table to return in an HTTP response. I'm not sure how to do this while I'm reading from the database.The problem is marked by the obnoxious comments /******** ********/
// connect to DB theSqlConnection.Open(); // open the connection SqlDataReader reader = sqlCommand.ExecuteReader();
System.Web.Script.Serialization.JavaScriptSerializer s = new System.Web.Script.Serialization.JavaScriptSerializer(); result = s.Deserialize<Hashtable>(data); Error is thrown if data is "{a:""test" 123",b:"hello" }" No error is thrown if data is "{a:"test 123",b:"hello" }"
How do I adjust the data string so that no error is thrown even when there are quotes?