IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:28.5.2014 22:50

Hoj,

mám zas problem.
Teď už s IF :D

Mam konečně funkční DropDownList který ma v sobě teď 2 parametry (ON/OFF).
Ve View jsem si přidal IF

@model xxx.Models.ViewModels
@{
        if(Model.StatusModel.Status.Name == "ON")
        {
            Response.Write("ON");
        }
        else
        {
            Response.Write("OFF");
        }
    }

Ale vypisuje mi to hlašku

An exception of type 'System.NullReferenceException' occurred in App_Web_tpbpmzqz.dll but was not handled in user code

Nevim co s tim, je to byčejný IF.
V googlu jsem našel že mám zavolat nějak objekt ale nevim jaký když použivám obyčejný IF a Response.Write().

Předem diky za radu :D

Editováno 28.5.2014 22:53
Odpovědět
28.5.2014 22:50
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:28.5.2014 23:13

Je fajn, že jste se už naučili psát co vám to háže za vyjímku, ale jen samotný text většinou nestačí. Koukni na inner exception + celý stack trace.

 
Nahoru Odpovědět
28.5.2014 23:13
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:28.5.2014 23:41

Prostě máš StatusModel, nebo Status prázdnej (null), koukni se na tu inner exception jak píše Jan Vargovský , nebo si tam bouchni break point a podívej se co máš v tom modelu.

 
Nahoru Odpovědět
28.5.2014 23:41
Avatar
Neaktivní uživatel:29.5.2014 0:42

Ops, omlouvám se, ja jsem ani nevěděl kde uvidim celou chybu.
Koukal jsem do tabulky a prazdný to neni, zkoušel jsem to i s bool, vypisuje to stejnou výjimku.

Pak jsem to zkoušel vypsat pomoci foreach:

@{
        foreach (var status in Model.StatusModel.Status.Name)
        {
            if ( status.ToString() == "ON")
            {
                Response.Write("ON");
            }
            else
            {
                Response.Write("OFF");
            }
        }
    }

Chybu to vypiš stejnou:

System.NullReferenceException was unhandled by user code
  HResult=-2147467261
  Message=Odkaz na objekt není nastaven na instanci objektu.
  Source=App_Web_kmxjcepp
  StackTrace:
       v ASP._Page_Views_PoruseniPravidel_Create_cshtml.Execute() v c:\Users\Bogdan\Documents\Visual Studio 2013\Projects\xxx\xxxx\Views\PoruseniPravidel\Create.cshtml:řádek 9
       v System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
       v System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
       v System.Web.WebPages.StartPage.RunPage()
       v System.Web.WebPages.StartPage.ExecutePageHierarchy()
       v System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
       v System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
       v System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
       v System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
       v System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
       v System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
       v System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  InnerException:
Editováno 29.5.2014 0:43
Nahoru Odpovědět
29.5.2014 0:42
Neaktivní uživatelský účet
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:29.5.2014 0:53

Do jaký tabulky jsi koukal? v databázi? Ty se ale musíš podívat na ten objekt, třeba ho tam posílíš prázdný..
A kde přesně to padá?

 
Nahoru Odpovědět
29.5.2014 0:53
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:29.5.2014 0:59

Chyba je nejspíše v Modelu kterým volám 2 modely do 1 View.

Udělal jsem to podle google.

public class ViewModels
    {
        public IEnumerable<StatusModel> StatusModel { get; set; }
        public ViolationOfRules ViolationOfRules { get; set; }

    }

Je to takhle správně?

Nahoru Odpovědět
29.5.2014 0:59
Neaktivní uživatelský účet
Avatar
Odpovídá na Lako
Neaktivní uživatel:29.5.2014 1:01

Padá to v řádku 9 tudiž

foreach (var status in Model.StatusModel)

nebo podle prvni verze kodu

if(Model.StatusModel.Status.Name == "ON")
Editováno 29.5.2014 1:04
Nahoru Odpovědět
29.5.2014 1:01
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:29.5.2014 1:38

Prázdný to asi je, když ti to vyhazuje null ref.ex. - Máš chybu někde v controlleru, že špatně taháš data z DB a pak neposíláš nic do View -> proto ta vyjímka.

 
Nahoru Odpovědět
29.5.2014 1:38
Avatar
Odpovídá na Jan Vargovský
Neaktivní uživatel:29.5.2014 2:07

Ach jo, už jsem z toho zmatenej.
Diky furt děla mi problem vypsat do View udaje z 2 modelu, přitom tohle funguje když to dělam ve View jak mi to vygeneroval Scaffold.

Snad na to přijdu v čem je chyba.

Nahoru Odpovědět
29.5.2014 2:07
Neaktivní uživatelský účet
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Jan Vargovský:29.5.2014 3:35

Kdyžtak se ti na to mrknu skrz TV :)

 
Nahoru Odpovědět
29.5.2014 3:35
Avatar
Odpovídá na Jan Vargovský
Neaktivní uživatel:29.5.2014 7:54

Díky, už asi vím v čem je problem ( i když jsem si to už řikal Xx :D ) zapoměl jsem přidat do controller db.StatusModel­.ToList(); snad to bude tim :D :[

Kouknu se až budu doma a dam vědět.

Nahoru Odpovědět
29.5.2014 7:54
Neaktivní uživatelský účet
Avatar
Odpovídá na Jan Vargovský
Neaktivní uživatel:29.5.2014 15:09

Tak jsem to zkusil, ale furt to nejde, teď mi to vypisuje výjimu:

Podrobnosti o výjimce: System.InvalidOperationException: The model item passed into the dictionary is of type 'System.Linq.Enumerable+<TakeIterator>d__3a`1[xxx.Models.StatusModel]', but this dictionary requires a model item of type 'xxx.Models.ViewModels'.

[InvalidOperationException: The model item passed into the dictionary is of type 'System.Linq.Enumerable+<TakeIterator>d__3a`1[xxx.Models.StatusModel]', but this dictionary requires a model item of type 'xxx.Models.ViewModels'.]
   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) +614
   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() +9690172
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

Chybu dělám určitě při vypisu dat z jineho modelu nez je určen pro controller.

<b><i>Mužeš mi prosim nějak zkraceně vysvětlit jak správně mám vypisovát data z např. 2 Modelu do 1 View?</i></b>

<b><i>Např.: Mam Model1 vytvořím pro něj scaffold, a chci do Create.cshtml nebo _Layout navíc vypsat některé údaje z Model2?</i></b>

<b><i>Jsem už v tom zmaten, na googlu jsem našel že stači dat ty 2 modely do dalšiho modelu, a ten připojit do View, takhle to dělam a nejde to. </i></b>

Diky moc.

Editováno 29.5.2014 15:12
Nahoru Odpovědět
29.5.2014 15:09
Neaktivní uživatelský účet
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:29.5.2014 15:15

To je ale uplně jiná chyba.
2 modely dostaneš do view tím způsobem, že si vytvoříš viewModel a tam nasypeš co potřebuješ.
Do view bys správně ani neměl posílat model, pro každé view by sis měl udělat vlastní viewModel.

Na čem ti to padá teď? máš tam nějakou chybu ve slovníku, cpeš tam objekt, nebo něco co tam nepatří

 
Nahoru Odpovědět
29.5.2014 15:15
Avatar
Odpovídá na Lako
Neaktivní uživatel:29.5.2014 16:07

Pada to hned jak se spusti View, krokováním to prostě spadlo až to prošlo celej Controller a spadlo při načteni View.

Vypišu sem co mam v controlleru create, Model1(to je ten na který je vázan scaffold),Model2,Vi­ewModel(do ktereho chci vypsat udaje z z Modelu2)

Controller Create:

public ActionResult Create()
        {
            return View(db.StatusModels.ToList().Take(1));
        }

Model1:

public class ViolationOfRules
    {
        public int Id { get; set; }

        [Display(Name = "Čás odeslání")]
        public DateTime? SendDate { get; set; }

        [Display(Name = "IP adresa nahlašovatele")]
        public string SenderIp { get; set; }

        [Display(Name = "Název serveru")]
        public ServerName ServerName { get; set; }

        [Display(Name = "Jste ZM/BB Akademik?")]
        public Akademik Akademik { get; set; }

        [Display(Name = "Typ porušování pravidel")]
        public AbuseType AbuseTypes { get; set; }

        [Required(ErrorMessage = "Zadejte nick porušujícího!")]
        [Display(Name = "Nickname porušujícího")]
        public string ViolationNick { get; set; }

        [Required(ErrorMessage = "Zadejte STEAM_ID porušujícího!")]
        [Display(Name = "STEAM_ID porušujícího")]
        public string SteamID { get; set; }

        [Required(ErrorMessage = "Zadejte Váš nick!")]
        [Display(Name = "Váš nick")]
        public string YoureNick { get; set; }

        [Display(Name = "Důkaz")]
        public string Proof { get; set; }
    }

Model2:

public class StatusModel
    {
        public int Id { get; set; }
        public Status Status { get; set; }

    }

Status:

public class Status
    {
        public string Name { get; set; }
        public int Status_Id { get; set; }
    }

StatusRepository:

public static class StatusRepository
    {
        public static List<Status> GetStatus()
        {
            return new List<Status>
                {
                    new Status {Name = "ON"},
                    new Status {Name = "OFF"}
                };
        }
    }

ViewModel:

public class ViewModel
    {
        public StatusModel StatusModel { get; set; }
        public ViolationOfRules ViolationOfRules { get; set; }
    }

Create.cshtml:

@model Gamesites.Models.ViewModel

@{
        foreach (var status in Model.StatusModel.Status.Name)
        {
            if ( status.ToString() == "ON")
            {
                Response.Write("ON");
            }
            else
            {
                Response.Write("OFF");
            }
        }
    }

Takhle to mam.

Nahoru Odpovědět
29.5.2014 16:07
Neaktivní uživatelský účet
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:29.5.2014 21:44

udělej místo tohodle:

public ActionResult Create()
        {
            return View(db.StatusModels.ToList().Take(1));
        }

tohle:

public ActionResult Create()
        {
            var statusModely = db.StatusModels.ToList();
            var jedenStatusModel = statusModely.Take(1);
            return View(prvniStatusModel);
        }

Je to totožný zápis, jenom ti pomůže odhalit chybu -> napiš na kterém řádku ti to žuchlo...
A teď mě napadá, že chyba bude možná uplně jinde:
Do view totiž posíláš jiný objekt, než si view vyžaduje
Posíláš tam List<StatusModel>
a ono to chce ViewModel

Editováno 29.5.2014 21:47
 
Nahoru Odpovědět
29.5.2014 21:44
Avatar
Odpovídá na Lako
Neaktivní uživatel:29.5.2014 22:29

Úplně stejně, dál jsem to odkrokovát, controller to projelo bez žádného zádrhelu, ale když už to má skočit na View, krokování se přeruši a místo View se zobrazí stránka s chybou kterou jsem zasílal. :(

Sedím u toho celý den a zkoušim, protože pokud se na to teď vyprdnu (což je u mě obvykle), pak se to už nikdy nenaučim, nebo hodně těžce.

PS: Zkoušel jsem tám dat ViewModel do controlleru, to mi taky nějak nefungovalo.

Editováno 29.5.2014 22:30
Nahoru Odpovědět
29.5.2014 22:29
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:30.5.2014 1:11

Přidávám co mám v Create Post controlleru, jelikož se mi zda že on bude mít něco společné s chybou.

[HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Create( ViewModel viewModel)
        {

            if (ModelState.IsValid)
            {
                string stringIpAddress;
                stringIpAddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                if (stringIpAddress == null)
                {
                    stringIpAddress = Request.ServerVariables["REMOTE_ADDR"];
                }

                DateTime date = DateTime.Now;

                db.ViolationOfRules.Add(viewModel.ViolationOfRules);
                viewModel.ViolationOfRules.SenderIp = stringIpAddress;
                viewModel.ViolationOfRules.SendDate = date;
                db.SaveChanges();
                return Redirect("http://www.xxx.cz/");
            }

            ViewBag.Servers = ServerNameRepository.GetServers();
            ViewBag.Akademik = AkademieRepository.getAkademik();
            ViewBag.Abuse = AbuseTypesRepository.getAbuse();

            return View(viewModel);

PS: Prováděl jsem už X ruzných úprav, takže je pravděpodobné že jse tám nějaka blbost.

Editováno 30.5.2014 1:11
Nahoru Odpovědět
30.5.2014 1:11
Neaktivní uživatelský účet
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:30.5.2014 12:25

Chybu máš v tom jak jsem zmínil - Posíláš tam list status modelů,

return View(db.StatusModels.ToList().Take(1));

ale ve view přijímáš objekt typu ViewModel...

@model Gamesites.Models.ViewModel

Visual studio by ti mělo vyhubovat.

Editováno 30.5.2014 12:27
 
Nahoru Odpovědět
30.5.2014 12:25
Avatar
Odpovídá na Lako
Neaktivní uživatel:30.5.2014 13:11

Napojil jsem ViewModel do DbContextu, a zavovlál z Create

public ActionResult Create()
        {
            ViewBag.Servers = ServerNameRepository.GetServers();
            ViewBag.Akademik = AkademieRepository.getAkademik();
            ViewBag.Abuse = AbuseTypesRepository.getAbuse();

            var viewModely = db.ViewModel.ToList();
            var jedenViewModel = viewModely.Take(1);
            return View(jedenViewModel);
        }

Po spuštění mi to spadlo na :

var viewModely = db.ViewModel.ToList();

S chybou:

An exception of type 'System.Data.Entity.ModelConfiguration.ModelValidationException' occurred in EntityFramework.dll but was not handled in user code

Additional information: One or more validation errors were detected during model generation:

System.Data.Entity.ModelConfiguration.ModelValidationException was unhandled by user code
  HResult=-2146233088
  Message=One or more validation errors were detected during model generation:

xxx.Models.ViewModel: : EntityType 'ViewModel' has no key defined. Define the key for this EntityType.
ViewModel: EntityType: EntitySet 'ViewModel' is based on type 'ViewModel' that has no keys defined.

  Source=EntityFramework
  StackTrace:
       v System.Data.Entity.Core.Metadata.Edm.EdmModel.Validate()
       v System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo)
       v System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
       v System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
       v System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
       v System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
       v System.Data.Entity.Internal.InternalContext.Initialize()
       v System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
       v System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
       v System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
       v System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
       v System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
       v System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
       v xxx.Controllers.PoruseniPravidelController.Create() v c:\Users\Bogdan\Documents\Visual Studio 2013\Projects\xxx\xxx\Controllers\PoruseniPravidelController.cs:řádek 47
       v lambda_method(Closure , ControllerBase , Object[] )
       v System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
       v System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
       v System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
       v System.Web.Mvc.Async.AsyncControllerActionInvoker.ActionInvocation.InvokeSynchronousActionMethod()
       v System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
       v System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
       v System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
       v System.Web.Mvc.Async.AsyncResultWrapper.End[TResult](IAsyncResult asyncResult, Object tag)
       v System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
       v System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
       v System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41()
  InnerException:

Prý mám definovát Key, ale to jsem nějak nepobral. Většinou se Key dává přece k ID ne?

Editováno 30.5.2014 13:14
Nahoru Odpovědět
30.5.2014 13:11
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:30.5.2014 13:18

PS: Přidál jsem do ViewModel ještě IDčko, a už se mi to dostalo i do View, ale s chybou:

The model item passed into the dictionary is of type 'System.Linq.Enumerable+<TakeIterator>d__3a`1[xxx.Models.ViewModel]', but this dictionary requires a model item of type 'xxx.Models.ViewModel'.

[InvalidOperationException: The model item passed into the dictionary is of type 'System.Linq.Enumerable+<TakeIterator>d__3a`1[xxx.Models.ViewModel]', but this dictionary requires a model item of type 'xxx.Models.ViewModel'.]
   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) +614
   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() +9690172
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
Nahoru Odpovědět
30.5.2014 13:18
Neaktivní uživatelský účet
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:30.5.2014 14:21

:D
Pošli mi to prosím tě, já se na to juknu.

 
Nahoru Odpovědět
30.5.2014 14:21
Avatar
Odpovídá na Lako
Neaktivní uživatel:30.5.2014 15:11

Ok, jen to pro tebe nějak zpřehledním :D

Nahoru Odpovědět
30.5.2014 15:11
Neaktivní uživatelský účet
Avatar
Lako
Člen
Avatar
Odpovídá na Neaktivní uživatel
Lako:30.5.2014 22:24

Jenom pro úplnost dodám, že jsme to vyřešili překopáním přístupu k databázi, což bylo trochu mimo původní otázku

 
Nahoru Odpovědět
30.5.2014 22:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 23 zpráv z 23.