User-16611417 posted
There is a view the following type that you want to convert a json:
@using (Ajax.BeginForm(new AjaxOptions { Url = Url.Action("ViewM", "ModelC") }))
{
<input type="text" name="str" />
<input type="text" name="str2" />
<input class="btn" type="submit" value="Отобразить результат" />
}
And the controller ModelS. ViewM method to return a Json
public JsonResult ViewM()
{
var result = new List<P>();
result.Add(new P { Name = "N1", Value = 6 });
result.Add(new P{ Name = "N2", Value = 6 });
result.Add(new P{ Name = "N3", Value = 6 });
result.Add(new P { Name = "N4", Value = 4 });
return Json(new { Countries = result }, JsonRequestBehavior.AllowGet);
}
the properties of the class
public class P
{
public string Name { get; set; }
public int Value { get; set; }
}
If ViewM would type ActionResult, in any field it would have been easy to convey the value of Name. It would look something like this:
public ActionResult ViewM(string str, string str2)
{
var result = new List<P>();
result.Add(new P { Name = str, Value = 6 });
result.Add(new P{ Name = str2, Value = 6 });
result.Add(new P{ Name = "N3", Value = 6 });
result.Add(new P { Name = "N4", Value = 4 });
return PartialView(result)
}
But the problem is that the same can be done with JsonResult.
public JsonResult ViewM(string str, string str2)
{
var result = new List<P>();
result.Add(new P { Name = str, Value = 6 });
result.Add(new P{ Name = str2, Value = 6 });
result.Add(new P{ Name = "N3", Value = 6 });
result.Add(new P { Name = "N4", Value = 4 });
return Json(new { Countries = result }, JsonRequestBehavior.AllowGet);
}
Because of Ajax.BeginForm not transmitted values ... How can I fix Ajax.BeginForm, to values successfully transferred to Json?