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 に答える