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?
How can i transfer control to a controller's method from a controller's method..I am having two Controllers Home and User.. After username and password are verified inHome Controllers method , i want to show the User Controllers index page , so i have to callindex method of Home controller..How can i do it.
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 have been at this for hours and am pretty stuck. I am using MVC2 with VS2010 Beta 2.
Here is my javascript from the view:
[Code]....
Here is my controller code:
[Code]....
I can set a breakpoint in the GetMember method and it does receive the Member_ID parameter correctly. It also correctly returns a member object from my repository (dpR). The function in $.getJSON call that is supposed to receive this result does nothing however. There are no exceptions or javascript errors. It is just silently dying.
I have asp.net mvc application. i want to configure the object in jquery and want to pass it to the the action of controller . where as in my script i am using this for configure data for the ajax call:
[Code]....
it does not calls to action in controller. i think here :
var json = $.toJSON(peform);
is not working as expect. is it need to add any js file to reference ? or mistake in syntax?
I have a list of items(surveys) displayed on my home page. When I click the edit button for a particular item I have a modal pop up with the items details to edit. When the user clicks Save I submit the form via ajax. Depending on whether ModelState.IsValid == true I want to update the modal with validation information or close the modal and update the list of items with the new information.
This is how I am submitting the form:
[Code]...
My Questions
The only thing I can think to do is return JSON from my controller with a flag indicating the state of the ModelState.IsValid and the corresponding partial that I should show.
1) How would I do this?
2) Is there a better way?
Update
I found this: [URL]
but it seems more likely that I am going about the whole thing incorrectly.
I have the following javascript. Problem is if I enter one row in the table "ingredients" but I am getting 2 rows in the resulting pass to controller action after seralising into my C# object. But the second object is null? I checked the javascript and the variable "cnt" is 1 not 2. Why would that be?
[code]
$("#Save").click(function () { var title = $("#recipetitle").val(); var category = $("#category").val(); var preptime = $("#prepTime").val(); var preptimeperiod = $("#lstPrepTime").val(); var cooktime = $("#cookTime").val(); var cooktimeperiod = $("#lstCookTime").val(); var rating = $("#rating").val(); var method = $("#method").val(); var jsontext = '{ "RecipeTitle": "' + title + '",'; jsontext += '"CategoryID":' + category + ','; jsontext += '"PrepTime":' + preptime + ','; jsontext += '"PrepTimePeriod":"' + preptimeperiod + '",'; jsontext += '"CookTime":' + cooktime + ','; jsontext += '"CookTimePeriod":"' + cooktimeperiod + '",'; jsontext += '"Rating":' + rating + ','; jsontext += '"Method":"' + method + '",';....................
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?
This is probably something simple. The following JQuery call is executing and calling the controller. The controller is executing correctly. I used the sample data that's commented out to verify that the templates were working also. However, the success function is not executing in the browser. Any thoughts or other ways I can debug this?
I have the following to get the Json abject passed from the controller and populate the various textboxes in the view. However, nothing is happening even though controller is passing a valid Json object. What is wrong with this code?
<script language="javascript" type="text/javascript"> $(document).ready(function() { var url = '<%=Url.Action("DropDownChange") %>'; $("#vendorID").change(function() { var selectedID = $(this).val(); if (selectedID != "New Vendor Id") { //$.post('Url.Action("DropDownChange","Refunds")', function(result) { $.post(url, { dropdownValue: selectedID }, function(result) { alert(selectedID); $("#name").val(result.Name); $("#city").val(result.City); $("#contact").val(result.Contact); $("#address2").val(result.Address2); $("#address1").val(result.Address1); $("#state").val(result.State); $("#zip").val(result.Zip); }); } }); }); This is the code in my controller; public JsonResult DropDownChange(string dropdownValue) // This action method gets called via an ajax request { if (dropdownValue != null && Request.IsAjaxRequest() == true) { paymentApplicationRefund = cPaymentRepository.PayableEntity(dropdownValue); paymentApplicationRefund.Address1.Trim(); paymentApplicationRefund.Address2.Trim(); paymentApplicationRefund.Name.Trim(); paymentApplicationRefund.City.Trim(); paymentApplicationRefund.Contact.Trim(); paymentApplicationRefund.State.Trim(); paymentApplicationRefund.Zip.Trim(); return Json(paymentApplicationRefund,"application/json"); } else { return null; } }
i use JSon to return allot of results when building a website, but find myself writing a a lot of code like this:
[Code]....
and then simply call this function with whatever IEnumerable results i have my question is would i be on the right lines here, what would be the best possible way to do this as it makes no sense to be writing in MVC and OOP but to keep rewriting code to just FROM ?
I have problem with JSON, MapRoute. If I click on "save" I always get Page / Index Page instead of / SendForm. I dont know why, in javascript it says url: '/ page / sendform'. But the problem is at Global.asax.cs,
But there is still problem at the url, which shows Controller, Action that I dont want to .. I have a url / lang / seo-url /. How can I achieve by clicking on the Save, it should call SendForm method instead of Index ..
public class MvcApplication : System.Web.HttpApplication { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute("page", "{lang}/{url}", new { controller = "Page", action = "Index", lang = "cz", url = UrlParameter.Optional }); routes.MapRoute("Default", "{controller}/{action}/{url}", new { controller = "Page", action = "Index", url = UrlParameter.Optional }); } protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes); ValueProviderFactories.Factories.Add(new JsonValueProviderFactory()); } } Index.aspx <script type="text/javascript"> $(function () { $("#personCreate").click(function () { var person = getPerson(); // poor man's validation if (person == null) { alert("Specify a name please!"); return; } var json = $.toJSON(person); $.ajax({ url: '/page/sendform', type: 'POST', dataType: 'json', data: json, contentType: 'application/json; charset=utf-8', success: function (data) { // get the result and do some magic with it var message = data.Message; $("#resultMessage").html(message); } }); }); }); function getPerson() { var name = "Ruda"; var age = "18"; // poor man's validation return (name == "") ? null : { Name: name, Age: age }; } </script> <input type="submit" value="Save" id="personCreate" /> PageCollector.cs public class PageController : Controller { // // GET: /Page/ public ActionResult Index(string lang, string url) { switch(url) { case "anglictina": return View("~/Views/English/Index.aspx"); case "nemcina": return View("~/Views/German/Index.aspx"); case "prihlaska": return View("~/Views/Application/Index.aspx"); case "galerie": return View("~/Views/Galerie/Index.aspx"); case "kontakt": return View("~/Views/Contact/Index.aspx"); default: return View("~/Views/English/Index.aspx"); } } [HttpPost] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public JsonResult SendForm(string name, string age) { return Json(string.Format("Message: '{0}'", name)); } }
I am trying to return some data as json from an action method.
I have an employee object that looks like this:
public class Employee { public int EmployeeID {get; set;} public string FirstName {get; set;} public string LastName {get; set;} //Other irrelevant properties }
Then I have a view model as follows
public Class EmployeeViewModel { public Employee Supervisor{get; set;} public List<EmployeeViewModel> Employees }
I need to return a json object that looks exactly like this:
For now I only need to go to the second level as above, returning and supervisor and their staff members beneath them.
How would I go about returning this in my action method(I have the viewModel object hydrated already I just need to return it as json). My problem so far has been that the children property does not get populated.
I'm very new to MVC so this is a simple issue, just can't seem to find any information on why it's happening so turning to the forums. Edit works, delete sort of works (that's another issue in itself), and details works, but create causes an issue. I've debugged the form being passed in and it's always null with default values. It's almost identical code to my edit so I'm not sure why edit works and create won't. I'd show code for the view but since it's working for edit I'm currently ruling that out as the problem. "Colleges" in this populates a dropdown in the view. Here's the code:
but the problem is that when i click on the Perform Link an error will be raised indicating that it can not find the Calculate view.
so how i can enforce my application to call the Calculate controller method to perform the update and to keep the user in the current page .(the index page).
I am having trouble finding any information on this but basically in MVC how do I set up a controller method do read a GET request? For example I have the following url,