1

我试图从我的控制器调用我的模型,但出现错误。错误开启

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;

        }





    }
4

2 回答 2

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;
}
于 2013-08-22T20:30:27.823 回答
0

您必须创建一个具有 2 个参数的构造函数。要创建构造函数,您必须编写如下内容:[public, private, protected, internal] [classname]([parameters]). 所以只要改变这个:public List<UserData> UserModel(string id, string searchcriteria)public UserModel(string id, string searchcriteria). 请注意,构造函数不得返回任何内容。使用属性而不是返回类型。

于 2013-08-22T20:38:26.863 回答