繁体   English   中英

从Int转换为String

[英]Conversion from Int to String

我有一个登录页面,该用户名是emaloyee ID,它是一个整数。 但是,要验证我的日志记录,我需要将其转换为字符串,但是它仍然会给我同样的错误。

我在这里需要帮助: var user = db.EMPLOYEEs.Where(u => u.EMP_ID == model.EMP_ID && u.EMP_PASSWORD == model.EMP_PASSWORD).FirstOrDefault();

我已经尝试了所有这些,但是仍然给我同样的错误:

string s = i.ToString();
string s = Convert.ToString(i);
string s = string.Empty + i;
string s = new StringBuilder().Append(i).ToString();

在此处输入图片说明


我又遇到另一个错误

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

我想怎么做呢?

在此处输入图片说明

这是我的代码:

 [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;

从屏幕上我假设您应该转换u.EMP_ID而不是model.EMP_ID

您也可以使用Int.Parse(model.EMP_ID)

为了保持可读性和效率,我将选择:

int modelID = Int.Parse(model.EMP_ID);
var user = db.EMPLOYEEs.Where(u => u.EMP_ID == modelID && u.EMP_PASSWORD == model.EMP_PASSWORD).FirstOrDefault();

首先,您只解析一次。 其次,您比较int ,这要快得多。

只需将转换从Where子句中拉出即可:

string empID = Convert.ToString(model.EMP_ID);
var user = db.EMPLOYEEs
             .Where(u => u.EMP_ID == empID && u.EMP_PASSWORD == model.EMP_PASSWORD)
             .FirstOrDefault();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM