簡體   English   中英

如何解決Razor Pages錯誤“ CS0103當前上下文中不存在名稱'Json'”?

[英]How do I solve the Razor Pages error “CS0103 The name 'Json' does not exist in the current context”?

我正在使用Razor Pages(不是MVC),並在return語句上不斷出現上述錯誤。 關於MVC模型,存在類似的問題,但是對此的答案是將類更改為“ Controller”。 當我嘗試這種操作時,與頁面相關的東西就會中斷。 有什么建議么?

public class VehicleInfoPageModel : PageModel
{        
    public SelectList ModelNameSL { get; set; }

public JsonResult PopulateModelDropDownList(StockBook.Models.StockBookContext _context,
        int selectedMakeID,
        object selectedModelID = null)
    {
        var ModelIDsQuery = from m in _context.VehicleModel
                            orderby m.ModelID // Sort by ID.
                            where m.MakeID == selectedMakeID
                            select m;

        ModelNameSL = new SelectList(ModelIDsQuery.AsNoTracking(),
                    "ModelID", "ModelName", selectedModelID);
        return Json(ModelNameSL);
    }

您嘗試使用從System.Web.Mvc.JsonResultSystem.Web.Http.ApiController.JsonResult派生的Json()方法,而不是Microsoft.AspNetCore.Mvc.JsonResult命名空間,它們都是不同的命名空間。 您應該使用Microsoft.AspNetCore.Mvc.JsonResult的構造函數來創建JSON字符串:

public JsonResult PopulateModelDropDownList(StockBook.Models.StockBookContext _context, int selectedMakeID, object selectedModelID = null)
{
    var ModelIDsQuery = from m in _context.VehicleModel
                        orderby m.ModelID // Sort by ID.
                        where m.MakeID == selectedMakeID
                        select m;

    ModelNameSL = new SelectList(ModelIDsQuery.AsNoTracking(),
                "ModelID", "ModelName", selectedModelID);

    // return JSON string
    return new JsonResult(ModelNameSL);
}

參考: 在Razor頁面中使用JSON

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM