如何将静态文本设置为 JsonResult

本文关键字:设置 JsonResult 文本 静态 | 更新日期: 2023-09-27 18:33:27

我找到了以下代码示例(来自 Telerik),我正在尝试理解。 我需要做的是以某种方式将静态文本设置为 JsonResult (例如文本 ="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") };
        }
    }

如何将静态文本设置为 JsonResult

public ActionResult _AjaxLoading(string text
{
  var data = new { Text= "123", Value= "Abc"};
  return Json(data, JsonRequestBehavior.AllowGet);
}

如果是HTTPGet方法,则应指定JsonRequestBehavior.AllowGet作为第二个参数,以从GET方法返回 JSon 数据

看起来你需要这个:

return new JsonResult { Data = new { Text="Abc", Value="123", Produtcs= new SelectList(products.ToList(), "ProductID", "ProductName") }};

这是你要找的吗

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 };