How To Send A Collection And A Few Other Values In Json Form To A Webmethod?
Sep 28, 2010
Upon clicking a button I need to send a collection and a few other variables to server in Json form.For each value in the collection the server code (C# ) wil update those other variables in the DB.
For example there is a ‘classnumber’ collection with values (First, Second, Third, ….),other variables (‘teacher_name’ and ‘subjectname’).For each value in the ‘classnumber’ collection I need to update the ‘teacher_name’ by searching for the ‘subject_name’ in the DB.So I need to pass the ‘classnumber’ collection,’teacher_name’,’subject_name’ values to server in json form. At the moment instead of sending the ‘classnumber’ collection I am sending ‘teacher_name’,’subject_name’,’classnumber’ as variables for each value in the collection ,which requires multiple requests made to the server.
Instead of these individual requests I am wondering if there is a way to send all the data at once to server in json form?
I'm using HttpModule to capture requests to the web server. Before processing the page I'd like to check the values contained in some keys of the Request.Form collection and according to some logic change if necessary. I'd like to do this when BeginRequest event is fired. The problem is that the Request.Form collection is readonly.
How to return values from Webmethod to the client in JSON format? There are two static int values that i want to return.Do I need to create new object with those 2 properties and return it?The GetStatus() method is called frequently and i don't like the idea of creating a special object each time just for json formatting...
[WebMethod] public static int GetStatus() { int statusProcess,statusProcessTotal; Status.Lock.EnterReadLock(); statusProcess=Status.Process; //Static field statusProcessTotal=Status.ProcessTotal; //Static field Status.Lock.ExitReadLock(); return ... } On client side I catch the return value in : function OnSucceeded(result, userContext, methodName) (PageMethods.GetStatus(OnSucceeded, OnFailed);)
i am using json and jquery to send a form to the controller like below, when i click submit validation occers but line is executed even if form is invlid. How can i tell if form validation failed or succeded using javascript?
i am working on a web form. now i am opening a pop up window using window.open. Now i want to send the id to that new window. the link button is in my Data list view so that my code is something like this:
The problem is the double quotes wrapping everything under 'd'. Is there something I've missed in the web method or some other means of returning the data without the quotes? I don't really want to be stripping it out on the client everytime. Also I've seen other articles where this doesn't happen.
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'm doing an jQuery AJAX POST call to a webmethod, which is working fine. If I'm passing data from the AJAX call, I normally get the data in the webmethod via webmethod parameters.
JavaScript Code: $.ajax({"dataType": "json","contentType": "application/json","type": "POST","url": "Default.aspx/GetStuff","data": JSON.stringify({"a":"data1","b":2}),"success": function (msg) {Â Â console.log(msg.d);}}); C# Code: [WebMethod]public static object GetStuff(string a, int b){Â }
Is there any way I can get the data as a Dictionary or some other object, instead of having to put in individual parameters to the GetStuff() web method for each data param? It's a POST request so nothing is in Request.QueryString, and Request.Params/Request.Form doesn't contain it either.
I have the following web method , no success on return a correct Json format.
[Code]....
GetAll() return list of type "Company" POCO classes.
The web method complaint type "Company" could not cast to object. However I could not just return the Company type because client side Json only accept its 2 properties -"CompanyName", "ID" and I want to keep it that way.
Of cause, I had tried create a CompanyDTO which only have those two properties, but same error - "Unable to cast object of type..."
How should I modify in my web method to make it able to return a list of partial "Company" type in Json format?
I am trying to retrieve asp.net C# List method in JavaScript by referring Send-and-receive-JavaScript-Array-to-Web-Service-Web-Method-using-ASP.Net-AJAX ..My Code as below
Javascript
<script type = "text/javascript"> function GetAllSVGData() { PageMethods.GetSvgElements(OnSuccessSVGElements); } function OnSuccessSVGElements(response) {
[code]....
My problem is JavaScript function OnSuccessSVGElements is not firing. When I put breakpoints in it is working fine in C#. C# Method Working But Alerts in javascript not working.
I am trying to send json data from view to controller action. But the issue is the data is not populating in the action parameter List<Score>.
View Model: public class Score { public int QuestionId { get; set; } public int PrevAnswerId { get; set; } public int CurrAnswerId { get; set; } public string CurrAnswerName { get; set; } }
Json Data look like: [ {QuestionId:1, PrevAnswerId:3, CurrAnswerId:3, CurrAnswerName:'Known to Broker'}, {QuestionId:2, PrevAnswerId:7, CurrAnswerId:7, CurrAnswerName:'Completed'}, {QuestionId:3, PrevAnswerId:10, CurrAnswerId:10, CurrAnswerName:'Report'} ]
On window load, I will construct the Json object using "eval()" function and do some operation in the data before its save. On Save Click, I will call the action through the ajax call.
Action: public ActionResult SaveScore(List<Score> score) { // do something... }
But here score comming as collection of 3 elements with zero(for interger property)/null(for string property) values. When I checked in the request I found the data in "parama" property like.
But I am not sure why it is not getting populated in the score list. One full day I spent for this issue but till now I didnt find the solution for this issue.
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?
Have try to send the complex string that is created(serilize) from data.If I write just a regular string there is no problem but I want to sendover the array data as a string and then deserilize it does not work.What happens is that the webmethod 'save' never start. No error occurs!I suppose it is becouse the string contains a lot of " but I dont know howto change that and then bee able to deserilize it to the object.The string 'strData':
"{'JSONString': '[{"Show":false,"SortOrder":"","QuestionText":"Ingen rapport lämnas till kund då följande muntliga rapport har lämnats:","DefaultValue":"","CSS":"","Note":"","RQID":"Label","FunctionNr":0},{"Show":false,"SortOrder":"","QuestionText":"Lämnar
I was interested in creating a WebMethod that could send an email. I would prefer to use Visual Basic instead of C# since I know Visual Basic much better.
I want to send single json object with nested arrays through jquery ajax method.
In Code
In jquery ajax i am passing LeaveRuleMaster a single json object which holds some properties (Leavetypeid, Leavename, Leavestatus and nested array LeaveRulespecific.
In vb.net code i can receive the value of properties(Leavetypeid,Leavename,Leavestatus)
but i am receiving the LeaveRuleSpecific as nothing.
Based on the following link i tried this [URL] .....
There i have noticed you are debuging webmethod to get the properties of city object.
In my application i am making a ajax call to a webmethod and getting a error, Â in firebug it shows internal server error . I believe there must be some bug in my webmethod. But i dont know how to debug it setting break point in my code didn't work as it overlooks the break point.
I am trying to figure out how to send an image to Tuzulo using their api which appears to use JSON (quoted below). I have figured out how to receive information about what images I have with them and their URLs but cannot figure out how to send an image.
I have found lots of JSON examples but they all seem to show sending or receiving strings. Could someone give me a hint?
[URL]
Private API URLs These URLs require private keys, used for management and extension. To protect each upload, the private key must be known (saved, bookmarked, etc.). With an account, this becomes transparent.
[Code]....
<private-key>
Extend collection.
[Code]....
<private-key>
Manage collection.
Public keys are meant to be shared while private keys are meant to be temporarily bookmarked if necessary. Bookmarking is unnecessary when you're a site member.
I have jquery using ajax/json to grab an elements ID and then hits:
[System.Web.Services.WebMethod] public static string EditPage(string nodeID) { DataTable dt = new DataTable(); using (SqlConnection con = new SqlConnection(Global.conString)) using (SqlCommand cmd = new SqlCommand("contentPageGetDetail", con)) { cmd.Parameters.Add("@ID", SqlDbType.UniqueIdentifier).Value = Global.SafeSqlLiteral(nodeID, 1); cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { da.Fill(dt); } } if (dt.Count > 0) { string pageTitle = dt.Rows[0]["Title"].toString(); string contentID = dt.Rows[0]["ContentID"].toString(); return pageTitle, contentID, nodeID; } else { return "Failed"; } }
When it's time to return I want to grab all content returned from the stored procedure back to the jquery method in the success section and set a hiddenfield, dropdown value, and a title in a textfield. In the jQuery I tried using "pageTitle" but it came up undefined. What do I need to do jQuery side to grab whats being returned and populate fields in my Web Form before showing the form?
I'm looking for a way to define and send a JSON object array. I've figured out how to define a single JSON object, turn it into a string and send it, but what about an array of this type? Probably something simple I'm overlooking...
var myColumnSetting = { "ColumnName": name, "ColumnIndex": index } convert it to a string var myJSONText = JSON.stringify(myColumnSetting, false);
i have an ASP.NET 4.0 HTTP handler that should receive and send data in json format. I'm using jquery to send json objects serialized in a string to the handler. It correctly sends the request but i don't know how i could retrieve the data from the httpcontext passed to the handler and how i could deserialize it..
I am developing a user control. This user control is having 2 Dropdown controls and one textbox('txtCustomer'). I am using autocompleteextender for the text box. This 'txtCustomer' control populates the data based on the value selected in 2 dropdowns.
I need to pass the selected value of this 2 dropdown to my meb method. I am not using web service(.asmx page) for this application instead i am using page level web method. I tried to access the controls from the web method inside the Page. but all the identifiers and controls of the page returning null in the web mothod. I have analysed it is because the events "page_Load and page_Init" are not getting fired.