不能隐式转换类型int?字符串[]

时间:2014-04-17 16:06:28

标签: c# asp.net-mvc

我有一个登录页面,Username是一个Integer的emaloyee ID。但是要验证我的登录,我需要将其转换为字符串,但它会继续给我同样的错误。

我已经尝试了所有这些但是得到同样的错误:

string s = i.ToString();
string s = Convert.ToString(i);
string s = int.Parse(i);

serializeModel.roles = user.RoleROLE_ID; error: Cannot implicitly convert type 'int' to 'string[]'  

我想用这个做什么?

enter image description here

这是我的代码:

 [HttpPost]
        public ActionResult Login(LoginModel model, string returnUrl = "")
        {
            if (ModelState.IsValid)
            {
                int modelID = int.Parse(model.EMP_ID);
                var user = db.EMPLOYEEs.Where(u => u.EMP_ID == modelID && u.EMP_PASSWORD == model.EMP_PASSWORD).FirstOrDefault();
                    if ( user !=null)
                {
                    var roles = db.EMPLOYEEs.Select(m => m.RoleROLE_ID).ToArray();

                    CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel();
                    serializeModel.UserId = user.EMP_ID;
                    serializeModel.FirstName = user.EMP_FIRST_NAME;
                    serializeModel.LastName = user.EMP_LAST_NAME;
                    serializeModel.roles = user.RoleROLE_ID;

1 个答案:

答案 0 :(得分:3)

你不能指定一个int?到一个字符串数组...

这应该解决它。

serializeModel.roles = new string[]{ user.RoleROLE_ID.ToString() };