2016-07-06 98 views
-2

對於我的項目,我使用Web服務從數據庫獲取數據。 getAvailableList()方法在該服務中可用,並返回int []數組。我想把它轉換成對象,並且想把它傳遞給View。下面是 是Action方法。如何將int []轉換爲模型項

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

這是我的看法

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

我被傳遞到字典的模型項的錯誤消息的類型爲「System.Int32 []」,但本詞典需要類型的模型項目'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

此外,我想從sub_employee類中找到項目,其中SE_ID等於alist – OK91

+0

您可以使用where條件來過濾列表,例如.... var alist = IM.getAvailableList(); (x => new WEB1.Models.sub_employee {SE_ID = x})。(x.ToList()); –

0

檢查方法的返回類型。它不返回員工名單。它返回int。並且當你在var alist中獲取結果時,編譯器也不抱怨數據類型,但是當你將它傳遞給你的視圖時,視圖是強類型的,因此它是抱怨。檢查wsdl文件並找出該方法的返回類型。