2016-05-24 23 views
-5

ここではMyCodeです:暗黙的に「整数」にタイプ「string」を変換できません

public ActionResult Index() 
{ 
    var EmployeerId = SessionPersister.Email_ID; 
    //Convert.ToInt32(EmployeerId); 
    int.Parse(EmployeerId); 
    db.Job_Det.OrderByDescending(j => j.Job_ID).ToList().Where(x => x.Employeer_ID = EmployeerId); 
    return View(); 
} 

私は整数に上記の文字列をひそかに失敗していますmethods..but多くの変換を試してみました。

+0

は、なぜあなたはそれが失敗している知っていますか? – Kason

+0

'EmployeerId'が' string'の場合、最初に 'int'に変換する必要があります –

+0

これはintですか? –

答えて

0
public ActionResult Index() 
{ 
    var EmployeerId = SessionPersister.Email_ID; 
    //Convert.ToInt32(EmployeerId); 
    int EmpId=int.Parse(EmployeerId); 
    db.Job_Det.OrderByDescending(j => j.Job_ID).ToList().Where(x => x.Employeer_ID = EmpId); 
    return View(); 
} 
4

あなたはそれがintにemployerid変更does notのint.Parse(EmployeerId);の結果を格納..あなたがそのような

eid = int.Parse(EmployeerId); 

としてint型の変数としてそれを維持する必要があり、あなたが本当に意味した場合を除き、その後、X => x.Employeer_ID == eidx => x.Employeer_ID = EmployeerIdを交換アレントすべてのemployeer_IDを新しい値に置き換えます。

5

だけConvert.ToInt32(EmployeerId)またはint.Parse(EmployeerId)を呼び出すと、EmployeerIdの種類を変更しない - の両方の方法はあなたが新しい変数に格納する必要があると思い値を返します。

あなたは現時点では、クエリの結果で何もしていない - 悪い考えである、とWhere呼び出しの前にToList()を呼び出すことによって、あなたはすべてのデータをフェッチして、ローカルでフィルタリングしています。

最後に、クエリでは、に、を比較するのではなく値を割り当てようとしています。 =の代わりに==演算子が必要です。

私はあなたのような何かをしたい疑う:

public ActionResult Index() 
{ 
    string employerIdText = SessionPersister.Email_ID; 
    int employerId = int.Parse(employerIdText); 
    var jobs = db.Job_Det 
     .OrderByDescending(j => j.Job_ID) 
     .Where(x => x.Employeer_ID == employerId) 
     .ToList(); 
    return View(jobs); 
} 
+0

ありがとうございました...それは今働いています。 –

1

int.Parse(EmployeerId)社員番号は変更されません。 int値には別の変数を使用する必要があります。

var iEmployeerId = int.Parse(EmployeerId); 
関連する問題