c# - obtener - ¿Cómo configurar el texto estático en JsonResult?
modifying json c# (3)
Es esto lo que estás buscando
return new JsonResult { Text = "Abc", Value="123" };
Si desea agregar un nuevo elemento al menú desplegable al inicio, entonces
var editedProducts = new SelectList(products.ToList(), "ProductID","ProductName" ).ToList();
editedProducts.insert(0, new SelectListItem() { Value = "123", Text = "Abc" });
return new JsonResult { Data = editedProducts };
Encontré el siguiente ejemplo de código (de Telerik ) que trato de entender. Lo que tengo que hacer es de alguna manera establecer texto estático en JsonResult (por ejemplo, Text = "Abc" y Value = "123")
public ActionResult _AjaxLoading(string text)
{
Thread.Sleep(1000);
using ( var nw = new NorthwindDataContext() )
{
var products = nw.Products.AsQueryable();
if ( text.HasValue() )
{
products = products.Where((p) => p.ProductName.StartsWith(text));
}
return new JsonResult { Data = new SelectList(products.ToList(), "ProductID", "ProductName") };
}
}
Parece que necesitas esto:
return new JsonResult { Data = new { Text="Abc", Value="123", Produtcs= new SelectList(products.ToList(), "ProductID", "ProductName") }};
public ActionResult _AjaxLoading(string text
{
var data = new { Text= "123", Value= "Abc"};
return Json(data, JsonRequestBehavior.AllowGet);
}
Si se trata de un método HTTPGet
, debe especificar JsonRequestBehavior.AllowGet
como segundo parámetro para devolver datos JSon de un método GET