2016-07-06 15 views
-2

私のプロジェクトでは、データベースからデータを取得するためにWebサービスを使用しました。 getAvailableList()メソッドはそのサービスで利用可能であり、int []配列を返します。これをオブジェクトに変換して、Viewに渡したいと思います。以下は です。int []をモデルアイテムに変換する方法

public ActionResult Ataxi() 
    { 
     var alist = IM.getAvailableList(); 
     return View(alist); 
    } 

これは私が辞書に渡されるモデルアイテムのエラーメッセージがタイプ「可能System.Int32 []」でありましたが、この辞書はタイプのモデルアイテムを必要とし、私の見る

@model List<WEB1.Models.sub_employee> 
@foreach(var item in Model){ 
if (item.SE_ID != null) 
    { 
      @Html.DisplayFor(modelItem => item.SE_ID) 
    } 
} 

です'System.Collections.Generic.List`1 [WEB1.Models.sub_employee]'。どのように私はこの問題を克服するのですか?

+0

投稿可能なアイテムリストのメソッドを投稿できますか? –

+0

WSDL Webサービス – OK91

答えて

0

あなたのビューは、WEB1.Models.sub_employeeオブジェクトで厳密に型指定されているので、コンパイラが不平を言っているint []をビューに渡すことはできません。
IM.getAvailableList()メソッドは、すべてのsub_employee.SE_IDをint []として返し、SE_IDがint32の場合、以下のようにsub_employeeリストを作成して渡すことができます。 System.Linq名前空間を使用します。

var alist = IM.getAvailableList(); 
    return View(alist.Select(x => new WEB1.Models.sub_employee { SE_ID = x }).ToList()); 
+0

にあります。私の質問にお答えいただきありがとうございます。 – OK91

+0

さらに、SE_IDがalistと等しいsub_employeeクラスのアイテムを見つけたい – OK91

+0

このような条件を使用してリストをフィルタリングすることができます.... var alist = IM.getAvailableList(); 戻り値(x => x == 123)xx> new WEB1.Models.sub_employee {SE_ID = x})(x.ToList()); –

0

メソッドの戻り値の型をチェックします。従業員のリストは返されません。そのintを返す。 var alistの結果をフェッチするときに、コンパイラはデータ型についても不平を言っていませんが、ビューに強く型付けされているのでそれをあなたのビューに渡すときに不平を言います。 wsdlドキュメントをチェックし、メソッドの戻り値の型を調べます。

関連する問題