我发现了以下代码示例(来自Telerik),我正在努力理解。 我需要做的是以某种方式将静态文本设置为JsonResult(egText =“Abc”和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") };
}
}
答案 0 :(得分:3)
public ActionResult _AjaxLoading(string text
{
var data = new { Text= "123", Value= "Abc"};
return Json(data, JsonRequestBehavior.AllowGet);
}
如果是HTTPGet
方法,则应指定JsonRequestBehavior.AllowGet
作为第二个参数,以从GET
方法返回JSon数据
答案 1 :(得分:2)
看起来你需要这个:
return new JsonResult { Data = new { Text="Abc", Value="123", Produtcs= new SelectList(products.ToList(), "ProductID", "ProductName") }};
答案 2 :(得分:1)
这就是你要找的东西
return new JsonResult { Text = "Abc", Value="123" };
如果您想在开始时向下拉菜单添加新元素
var editedProducts = new SelectList(products.ToList(), "ProductID","ProductName" ).ToList();
editedProducts.insert(0, new SelectListItem() { Value = "123", Text = "Abc" });
return new JsonResult { Data = editedProducts };