2015-02-05 48 views
-1

完整的錯誤:傳遞到字典的模型項的類型爲「Web.Services.Package []」

The model item passed into the dictionary is of type 'Web.Services.Package[]', but this dictionary requires a model item of type 'Web.Services.Package'. 

收到此錯誤。堆棧跟蹤如下。任何想法?似乎無法讓它消失。這與字典有關,並通過Web.Services.Package[],但[]是什麼意思?

這是一個Razor頁面,在C#中,我試圖編輯一個類型爲「Package」的對象。

[InvalidOperationException: The model item passed into the dictionary is of type 'Web.Services.Package[]', but this dictionary requires a model item of type 'Web.Services.Package'.] 
System.Web.Mvc.ViewDataDictionary`1.SetModel(Object value) +378 
System.Web.Mvc.ViewDataDictionary.set_Model(Object value) +47 
System.Web.Mvc.ViewDataDictionary..ctor(ViewDataDictionary dictionary) +612 
System.Web.Mvc.ViewDataDictionary`1..ctor(ViewDataDictionary viewDataDictionary) +37 
System.Web.Mvc.WebViewPage`1.SetViewData(ViewDataDictionary viewData) +98 
System.Web.Mvc.WebViewPage.set_ViewData(ViewDataDictionary value) +39 
System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +425 
System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +382 
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +431 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +39 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +116 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +529 
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +106 
System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +321 
System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +185 
System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +42 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +133 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40 
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +34 
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +70 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 
System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +39 
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +62 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39 
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39 
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +39 
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +70 
System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40 
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38 
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9514928 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 

感謝您的幫助!

+1

錯誤告訴你到底什麼是錯誤的你傳遞一個數組與字符串''Web.Services.Package []''是不一樣的''Web.Services.Package'' [C#基礎教程] (http://www.tutorialspoint.com/csharp/) – MethodMan 2015-02-05 16:17:30

+0

您正在傳遞集合,而視圖期望單個對象 – 2015-02-05 16:27:30

回答

0

[]意味着一個Array,這意味着一系列給定類型的對象。關於它如何在內存中工作有一些具體細節,但這些細節僅用於區分它與其他集合類型。

在這種情況下,你需要弄清楚爲什麼你試圖通過多個包,你可能需要通過簡單的地方array[0]array變量的名字被報告爲經過的第一個元素,而不是數組類型。

相關問題