2014-04-17 68 views
0

我有一个登录页面,用户名是emaloyee ID,它是一个Integer。但是为了验证我的日志我需要将其转换为字符串,但它继续给我同样的错误。从Int到String的转换

我需要帮助这里: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(); 

enter image description here


我得到另一个错误下来在

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; 
+3

当抱怨错误时,提出错误是个好主意。 –

+0

它现在是问题! thanx – NilR

+0

@NilR你可以发布测试而不是图片吗? –

回答

1

从画面我会假设你应该转换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更快。

+0

谢谢你的回答:) – NilR

+0

谢谢我在serializeModel.roles = user.RoleROLE_ID上得到了另一个错误;错误:不能隐式地将类型'int'转换为'string'我想用这个做什么? – NilR

+0

@NilR:'serializeModel.roles.ToString()'或'Int.Parse(user.RoleROLE_ID)'。如果你设置一个额外的变量来保存结果,第一个选项应该更快。 –

0

只是拉那转换出来的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(); 
+0

它没有在第一个地方之前出现错误,我改变了这个,但仍然不工作... – NilR

+0

它仍然有相同的错误或新的错误? –

+0

我这样做:int modelID = Int.Parse(model.EMP_ID); var user = db.EMPLOYEEs.Where(u => u.EMP_ID并正常工作;但是,我有另一个错误,在serializeModel.roles = user.RoleROLE_ID;错误:不能隐式地将类型'int'转换为'string'什么我想用这个吗? – NilR