ASP.NET - Error en formulario

 
Vista:
sin imagen de perfil

Error en formulario

Publicado por Andres (13 intervenciones) el 14/04/2017 16:40:01
Estoy haciendo un formulario que carga datos y lo muestra en una vista con MVC.

Customer.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace Formulario2.Models
{
    public class Customer
    {
        public string Code { get; set; }
        public string Name { get; set; }
        public int Amount { get; set; }
    }
}

CustomerController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Formulario2.Models;
 
namespace Formulario2.Controllers
{
    public class CustomerController : Controller
    {
        // GET: Customer
        public ViewResult DisplayCustomer(CustomerController objCustomer)
        {
 
 
            return View(objCustomer);
        }
        public ActionResult FillCustomer()
        {
 
            return View("FillCustomer");
 
        }
    }
}

FillCustomer.cshtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@model Formulario2.Models.Customer
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>FillCustomer</title>
</head>
<body>
    <div>
        @using (Html.BeginForm("DisplayCustomer", "Customer", FormMethod.Post))
        {
            <p>
                @Html.LabelFor(model=>model.Code,"Código")
                @Html.EditorFor(model => model.Code)
            </p>
            <p>
                @Html.LabelFor(model => model.Name, "Nombre")
                @Html.EditorFor(model => model.Name)
            </p>
            <p>
                @Html.LabelFor(model => model.Amount, "Cantidad")
                @Html.EditorFor(model => model.Amount)
            </p>
            <input type="submit" value="Enviar" />
 
        }
 
    </div>
</body>
</html>

DisplayCustomer.cshtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@{
    Layout = null;
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>DisplayCustomer</title>
</head>
<body>
    <div>
        El codigo del cliente es @Model.Code<br />
        El codigo del cliente es @Model.Name<br />
        @if (Model.Amount > 100)
        {
            <p>Este es el cliente privilegiado</p>
        }
 
        else
        {
            <p>Este es el cliente normal</p>
        }
 
 
    </div>
</body>
</html>

Cuando ejecuto la aplicación me salta una excepcion en la línea 15 de DisplayCustomer.cshtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
El código de usuario no controló Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
  HResult=-2146233088
  Message='Formulario2.Controllers.CustomerController' no contiene una definición para 'Code'.
  Source=Anonymously Hosted DynamicMethods Assembly
  StackTrace:
       en CallSite.Target(Closure , CallSite , Object )
       en System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
       en ASP._Page_Views_Customer_DisplayCustomer_cshtml.Execute() en C:\Users\Usuario\Documents\Visual Studio 2015\Projects\practicando\ASP mvc\Formulario2\Views\Customer\DisplayCustomer.cshtml:línea 15
       en System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
       en System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
       en System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
       en System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
       en System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
       en System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
       en System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
       en System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
       en System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  InnerException:

que puede ser?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 169
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Error en formulario

Publicado por Wilfredo Patricio Castillo (75 intervenciones) el 14/04/2017 19:50:02
El problema está en que tu vista no tiene modelo, es por eso que no puede mostrar el code del customer.
Agrega en la primera linea

@model Formulario2.Models.Customer


Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error en formulario

Publicado por Andres (13 intervenciones) el 15/04/2017 01:04:33
sigue sin funcionar, ahora me dice al enviar los datos a la vista:

1
2
3
4
5
6
7
8
9
Error de servidor en la aplicación '/'.
El elemento de modelo pasado al diccionario es de tipo 'Formulario2.Controllers.CustomerController', pero este diccionario requiere un elemento de modelo de tipo 'Formulario2.Models.Customer'.
Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.
 
Detalles de la excepción: System.InvalidOperationException: El elemento de modelo pasado al diccionario es de tipo 'Formulario2.Controllers.CustomerController', pero este diccionario requiere un elemento de modelo de tipo 'Formulario2.Models.Customer'.
 
Error de código fuente:
 
Se ha generado una excepción no controlada durante la ejecución de la solicitud Web actual. La información sobre el origen y la ubicación de la excepción pueden identificarse utilizando la excepción del seguimiento de la pila siguiente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 169
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Error en formulario

Publicado por Wilfredo Patricio Castillo (75 intervenciones) el 16/04/2017 05:21:28
Como no entiendes el concepto de MVC, estás hecho un enredo, pero es facil, como ya te respondí en otro post.

Si tienes a bien agrégame a skype, para orientarte en como funciona el patrón MVC, de otro modo, solo estaremos llenando de post.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error en formulario

Publicado por Andres (13 intervenciones) el 18/04/2017 20:26:53
de donde sos? no tenes cuenta de google? no me acuerdo la contraseña de skype
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error en formulario

Publicado por Andres (13 intervenciones) el 20/04/2017 00:53:07
no me anda skype. Entiendo el concepto, no es mi culpa que los códigos fuentes tengan errores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 169
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Error en formulario

Publicado por Wilfredo Patricio Castillo (75 intervenciones) el 20/04/2017 09:40:30
Hola Andrés.

No creo que los códigos fuente tengan errores, debe estar bien pero para el escenario del que hizo el ejemplo.

Si dices que entiendes el concepto de MVC, te sería fácil adaptarlo a tus necesidades.

Como ya te mencioné no es dificil MVC, espero logres solucionar tus incovenientes.

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar