2010-11-27 20 views
0
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; 
} 

上記のコードは従業員が1つのレコードしか持っていないので、私はemployee[0]をハードコードしていました。動的リスト値

もっと多くの行がある場合、それらのインデックスを従業員に渡す方法(例:従業員[ここで値を動的に取得する必要があります])

+1

コードタグでコードを囲み、コードをハイライトして101010を押すのが良いでしょう。あなたの質問については、employeeInfoListで確認できます。もしあなたがこれを行う方法を知っていない場合は、この従業員情報リストの – Waqas

答えて

0

を私が正しくあなたの質問を理解していれば、あなたはLINQを使用することができますリスト与えられました単一の従業員をつかむために。

EmployeeInfo singleEmployee = employee.Where(x => x.Id).SingleOrDefault(); 
if (singleEmployee != null) 
{ 
    do something here 
} 

あなたはIDまたは類似のような従業員に対して「キー」を持っている場合、私は知らない、と述べている。

がインデックスによって取得するには、大きなラウンドを持っていますトリップ(emploeesをグリッドまたは同様のものに出力すること、clicを許可することあなたが望む従業員の指標に合格し、そのように単一のe従業員にアクセスします)。あなたが頻繁にかかわらずにキャッシュ「EmployeeInfoProxy.GetAllEmployeeInfo()」メソッドを採用している場合を除き

は、I「)はGetEmployeeInfoById(」したいと言うだろうし、再び、私はあなたにEmployeeInfoの必要性に戻っハープますいくつかの説明の一意のIDを持って - あなたはあなたの人生をはるかに簡単になります。

これが役に立ちます。 employeeListInfoは、それらのそれぞれにアクセスするには、その後、3つのエントリを持っている場合 乾杯、[加えて] テリー

は、私は(これはMVCであるように見える)最善の方法は、のviewmodelを作成するだろうと言うが、最悪だろうあなたができる場合のシナリオ:

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を使用する可能性がこれを行うには良い方法を表すことになり、しかし上記のことは確かにあなたのケースで動作するソリューションを提供します。

+0

をhttp://dotnetperls.com/dictionary-keysに従ってください。私は3つのカウントを返す。employeeInfoList = EmployeeInfoProxy.GetAllEmployeeInfo(TenantId);それは最初のレコードだけを表示する方法dyanamicを行うには? –

+0

あなたの要件に基づいて私の答えを更新しました。 –