无法从其他类分配返回值
本文关键字:分配 返回值 其他 | 更新日期: 2023-09-27 18:27:34
我对C#有点陌生,似乎在为我在控制器中创建的列表赋值时遇到了问题。我试图从一个返回列表值的repo类中分配一个值。
我收到的信息是
没有给出与"Repo.SearchClient(ClientInfo)"所需的形式参数"client"相对应的参数
mY控制器:
public ActionResult SearchResult()
{
Repo repo = new Repo();
List<ClientInfo> searchResult = new List<ClientInfo>();
searchResult = repo.SearchClient(); // error here
JsonResult result = new JsonResult();
result.Data = searchResult;
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
}
返回列表值的我的Repo类
public List<ClientInfo> SearchClient(ClientInfo client)
{
var clientName = client.clientName;
List<ClientInfo> clientResult = new List<ClientInfo>();
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
try
{
SqlCommand command = new SqlCommand("SELECT * FROM Table_1 WHERE ClientName =@clientName", conn);
command.Parameters.AddWithValue("@clientName", clientName);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
ClientInfo data = new ClientInfo();
data.clientName = reader["ClientName"].ToString();
data.clientNumber = reader["ClientNumber"].ToString();
data.clientType = reader["ClientType"].ToString();
clientResult.Add(data);
}
}
catch
{
throw;
}
}
return clientResult;
}
我的型号
namespace ClientSearch.Models
{
public class ClientInfo
{
public string clientName { get; set; }
public string clientNumber { get; set; }
public string clientType { get; set; }
}
}
您的搜索客户端方法需要ClientInfo作为参数。
public List<ClientInfo> SearchClient(ClientInfo client) // required parameter
控制器中的操作在调用方法时没有提供此功能。
List<ClientInfo> searchResult = new List<ClientInfo>();
searchResult = repo.SearchClient(); // no parameter
这将在编译时出错。
要解决这个问题,你需要做一些类似的事情:
var clientInfo = new ClientInfo()
{
ClientName = "test client"
}; // create a new ClientInfo object
var clientList = SearchClient(clientInfo); // call the search method and assign the results to a list