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

好,

我写了JsonResult函数。 但是我收到以下错误:

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

我找不到解决方案…… plzz帮助?

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

我知道了 !

我忘了从Controller类派生我的类

 public class User: Controller { } 

必须使用Microsoft.AspNetCore.Mvc将Page从Controller类派生到Json()和JsonResult()部分;

如果您使用Razor页面模型,那么您可以面对此问题。 我花了太多时间才得到它。

您还可以更改从Controller而不是pagemodel派生的页面,如此公共类User:Controller

首先尝试这个,在你的控制器中它应该是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= new List(); 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; }