CS0103 C#错误:当前上下文中不存在'Json'名称

20

好的,

我已经编写了 JsonResult 函数。但是我遇到了以下错误:

CS0103 C# 当前上下文中不存在“Json”名称

我找不到解决办法...... 求帮忙?

public JsonResult DoUserExist(string Emailaddress)
{
    bool ch = false;
    string connectionString = ConfigurationManager.ConnectionStrings["FreelanceDBCS"].ConnectionString;

    using (SqlConnection con = new SqlConnection(connectionString))
    {
        SqlCommand cmd = new SqlCommand("GetCities", con);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader();


        if (rdr != null)
        {
            ch = true;
        }
    }
    return Json(ch,JsonRequestBehavior.AllowGet);

}

你的返回对象需要与函数的返回类型相同。 - DinoMyte
请注意,model-view-controller标签是用于有关该模式的问题。ASP.NET-MVC实现有一个特定的标签。 - user3559349
这个回答解决了你的问题吗?JsonResult在ASP.NET CORE 2.1中返回Json - ggorlen
3个回答

69

我明白了!

我忘记从Controller类派生我的类。

public class User: Controller
{

}

10
谢谢,我之前是从ControllerBase派生的(可能基于之前的某个模板)。改为Controller后问题解决了! - lukyer
1
我还需要包含 Microsoft.AspNetCore.Mvc 包。 using Microsoft.AspNetCore.Mvc; - Corey Byrum

9

页面必须从Controller类派生,才能使用Microsoft.AspNetCore.Mvc中的Json()和JsonResult()部分;

如果您正在使用Razor页面模型,则可能会遇到此问题。我花费了很多时间才解决它。

您还可以像这样将页面从pagemodel更改为Controller派生类,例如public class User: Controller


3
他们可以在这里大幅改进错误提示信息。谢谢。 - Chaim Eliyah

0

首先尝试这个,在你的控制器中应该使用ActionResult而不是JsonResult,并且你应该将对象作为数据传递。

你可以按照以下方式获取字符串输出。在这里,getCities是类似于表字段的模型。

 public string DoUserExist(string Emailaddress)
    {
        bool ch = false;
        string connectionString = ConfigurationManager.ConnectionStrings["FreelanceDBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(connectionString))
{
    SqlCommand cmd = new SqlCommand("GetCities", con);
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    con.Open();    
    using (SqlDataReader reader = cmd.ExecuteReader())
            {
                List<getCities> _getCities= new List<getCities>();

            while (reader.Read())
            {
                getCities cities= new getCities();
                cities.Data.Add(int.Parse(reader["col2"].ToString()));
                cities.Data.Add(int.Parse(reader["col3"].ToString()));
                cities.Data.Add(int.Parse(reader["col4"].ToString()));

                _getCities.Add(cities);
            }
            JavaScriptSerializer jss = new JavaScriptSerializer();
            jsonString = jss.Serialize(_getCities);
        }
    }

return jsonString;  
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接