如何从控制器调用我的模型?

时间:2013-08-22 20:27:33

标签: c# asp.net-mvc-4

我试图从我的控制器调用我的模型,但得到错误。错误发生在

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;

        }





    }

2 个答案:

答案 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)。请注意,构造函数不能返回任何内容。使用属性而不是返回类型。

相关问题