我试图从我的控制器调用我的模型,但得到错误。错误发生在
new UserModels(id, searchcriteria);
并声明
UserModels does not contain a constructor that takes 2 arguments.
有什么想法吗?
控制器/操作:
public ActionResult ID(string id)
{
ViewBag.Message = "Customer Information";
string searchcriteria = "userid";
UserModels model = new UserModels(id, searchcriteria);
return View();
}
型号:
public class UserModels
{
public UserData user { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string searchvalue {get; set; }
public string searchcriteria { get; set; }
public List<UserData> UserModel(string id, string searchcriteria)
{
SSO_Methods sso = new SSO_Methods();
List<UserData> userObject = sso.GetUserObject(id, searchcriteria);
return userObject;
}
}
答案 0 :(得分:5)
c#中的构造函数无法返回任何内容。
您的代码需要
public UserModels(string id, string searchcriteria)
{
// your code here
}
然后,如果您想要返回列表,请添加
public List<UserData> GetUserModels(string id, string searchcriteria)
{
SSO_Methods sso = new SSO_Methods();
List<UserData> userObject = sso.GetUserObject(id, searchcriteria);
return userObject;
}
答案 1 :(得分:0)
您必须创建一个包含2个参数的构造函数。要创建构造函数,您必须编写如下内容:[public, private, protected, internal] [classname]([parameters])
。
所以只需更改此内容:public List<UserData> UserModel(string id, string searchcriteria)
致public UserModel(string id, string searchcriteria)
。请注意,构造函数不能返回任何内容。使用属性而不是返回类型。