les explico tengo una pagina en apnet mvc4 el link principal por ejemplo contine 4 enlaces que serian
pag1 - pag2 - pag3 - pag4 - pag5
de la pag1 hasta la pag4 no funciona me muestra el siguiente mensaje
Server Error in '/' Application.
The model item passed into the dictionary is of type 'paginaprueba.ViewModels.CollectionViewModel', but this dictionary requires a model item of type 'paginaprueba.ViewModels.HomeViewModel'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
delphi
Exception Details: System.InvalidOperationException: The model item passed into the dictionary is of type 'paginaprueba.ViewModels.CollectionViewModel', but this dictionary requires a model item of type 'paginaprueba.ViewModels.HomeViewModel'. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [InvalidOperationException: The model item passed into the dictionary is of type 'paginaprueba.ViewModels.CollectionViewModel', but this dictionary requires a model item of type 'paginaprueba.ViewModels.HomeViewModel'.] System.Web.Mvc.ViewDataDictionary`1.SetModel(Object value) +175 System.Web.Mvc.ViewDataDictionary..ctor(ViewDataDictionary dictionary) +361 System.Web.Mvc.WebViewPage`1.SetViewData(ViewDataDictionary viewData) +49 System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +98 System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13 System.Web.Mvc.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17() +23 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +245 System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +22 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +245 System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +22 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +176 System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +75 System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +99 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +29 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10 System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25 System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23 System.Web.Mvc.Async.WrappedAsyncResult`1.End() +55 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9676252 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
en el HomeController se encuentran lo siguiente
delphi
public ActionResult pag1() { return View(); }
y asi asta llegar a la pagina pag5
cada una tiene su vista en la carpeta Home. aora que pasa cuando yo ago clic derecho sobre el View de la pagina1
public ActionResult pag1()
{
return View();
}
me crea la vista pero cuando creo el codigo y el link para poder direccionar a esa pagina no lo hace por ejemplo
delphi
<div class="deal-image"> <a href="@Url.Action("pag1", "Home")"> <img src="/images/home_miniOffer/ubicanos_mapa.jpg" alt="" width="50" /></a> </div> <div class="deal-info"> <div class="deal-info-link">@Html.ActionLink("hacer click aqui!", "pag1", "Home")</div> <div class="deal-info-sub-detail">Ubicanos facilmente por aqui!!!</div> </div>
delphi
Server Error in '/' Application. que no encuentra home/pag1
recuerdan que le dije que en el link principal habia una que se llamaba pag5 y contiene su actionresult y si funciona
bien trate de copiar ese action result lo duplique varias veces creando para las otras pagina cree la vista pero no funciono
delphi
public ActionResult pag1() { return View(); }
en la vista solamente tengo esto como prueba y funciona bien en action resul de la pag5 pero en las otras no
siempre muestra el 1er mensaje que esta arriba talvez me puedan ayudar con esto.
delphi
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>prueba de la pagina 5</title> </head> <body> <div> <h1>prueba de la pagina 5</h1> </div> </body> </html>
para ser mas claro les explico
1- en el homecontroller
creo el actionresult de la pagina 1
delphi
public ActionResult pag1() { return View(); }
creo su vista
delphi
<html> <head> <meta name="viewport" content="width=device-width" /> <title>prueba de la pagina1</title> </head> <body> <div> <h1> prueba de la pagina 1 </h5> </div> </body> </html>
creo el codigo en el index para hacer link y direccionarlo a la pagina ya creado que seria pag1
delphi
<div class="deal-image"> <a href="@Url.Action("pag1", "Home")"> <img src="/images/home_miniOffer/ubicanos_mapa.jpg" alt="" width="50" /></a> </div> <div class="deal-info"> <div class="deal-info-link">@Html.ActionLink("hacer click aqui para ir a pagina1!", "pag1", "Home")</div> <div class="deal-info-sub-detail">click para ir a la pagina 1</div> </div>
no funciona muestra siempre el primer mensaje de error que esta de primero mas arriba.
ayuden si.
Gracias broder por cualquier ayuda