这是MyCode:
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();
}
我尝试了很多转换方法..但是我无法将上面的字符串转换为整数。
答案 0 :(得分:5)
只需拨打Convert.ToInt32(EmployeerId)
或int.Parse(EmployeerId)
即可更改EmployeerId
的类型 - 这两种方法都会返回您需要存储的值一个新的变量。
您还目前没有对您的查询结果执行任何操作 - 并且在ToList()
调用之前调用Where
,您将获取所有数据,然后在本地过滤,这是一个坏主意。
最后,在您的查询中,您尝试分配值而不是比较它;您需要==
运算符而不是=
。
我怀疑你想要这样的东西:
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);
}
答案 1 :(得分:4)
你不存储int.Parse(EmployeerId);
的结果它不会将employeeid更改为int ..你需要将它保存为int变量,例如
eid = int.Parse(EmployeerId);
然后将x => x.Employeer_ID = EmployeerId
替换为x => x.Employeer_ID == eid
,除非您确实打算用新值替换所有employeer_ID。
答案 2 :(得分:1)
int.Parse(EmployeerId)
; 不会更改 EmployeerId 。您需要为int值使用另一个变量。
var iEmployeerId = int.Parse(EmployeerId);
答案 3 :(得分: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();
}