[英]Dynamic List Values
Dictionary<string, EmployeeInfo> employeeInfoList = new Dictionary<string, EmployeeInfo>();
employeeInfoList = EmployeeInfoProxy.GetAllEmployeeInfo(TenantId);
if (employeeInfoList != null)
{
List<EmployeeInfo> employee = new List<EmployeeInfo>(employeeInfoList.Values);
ViewData["Name"] = employee[0].Name;
ViewData["Salary"] = employee[0].Salary;
ViewData["Department"] = employee[0].Department;
ViewData["Designation"] = employee[0].Designation;
ViewData["Address"] = employee[0].Address;
ViewData["Address1"] = employee[0].Address1;
}
上面的代码工作正常。如果员工只有一条记录,那么我已对employee[0]
了硬编码。
如果还有更多行,如何将这些索引传递给员工(例如,员工[\\ i应该在此处动态获取值]。
如果我正确理解了您的问题,给定一个列表,您可以使用linq来雇佣一名员工。
EmployeeInfo singleEmployee = employee.Where( x => x.Id).SingleOrDefault();
if (singleEmployee != null)
{
do something here
}
就是说,我不知道您是否有反对员工的“钥匙”,例如Id或类似的东西。
要获得索引,您需要进行更大的往返(将临时任务输出到网格或类似的东西,允许单击以传入想要的员工的索引,然后以这种方式访问单个雇员)。
除非您在'EmployeeInfoProxy.GetAllEmployeeInfo()'方法中大量使用缓存,否则我会说您想要一个'GetEmployeeInfoById()',我会再次强调您的EmployeeInfo必须具有唯一ID一些描述-您将使您的生活变得更加轻松。
希望这可以帮助。 干杯,特里
[此外]如果employeeListInfo具有3个条目,那么访问它们中的每一个,我会说最好的方法是创建一个视图模型(看起来像是MVC),但是最坏的情况下,您可以执行以下操作:
List<EmployeeInfo> employee = new List<EmployeeInfo>(employeeInfoList.Values);
ViewData["Employees"] = employee;
然后在您看来,只需执行以下操作:
<% foreach(EmployeeInfo employeeDetails in ViewData["Employees"] as List<EmployeeInfo>) { %>
<!-- you will be looping through each employee here, so you can do as you wish
<% } %>
我不会说这是最佳实践-使用ViewModel可能代表一种更好的方法,尽管以上内容肯定会为您提供适合您情况的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.