vista ventajas sintaxis nombre mvc5 mvc modelo existe ejemplos controlador contexto actual asp.net asp.net-mvc asp.net-mvc-3

asp.net - ventajas - viewbag



"El nombre ''HTML'' no existe en el contexto actual" en MVC 3 Vistas (16)

Estoy empezando a usar "MVC 3" pero estoy enfrentando algunos pequeños problemas. En mis Vistas, cuando codifico algo como esto:

@if(Request.IsAuthenticated) { <text>Welcome <b>@Context.User.Identity.Name</b>! [ @Html.ActionLink("Log Off", "LogOff", "Account") ]</text> } else { @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] }

Los objetos como @Request y @Html indican un error: The name ''HTML'' does not exist in the current context .

Lo mismo ocurre con @Context, @ViewBag, @Layout, @Url y otros.

Ver:

imagen http://i56.tinypic.com/28s1smp.jpg

Pero el código está correctamente compilado sin errores. El problema es que no puedo usar el Intellisense con estos objetos en las Vistas. ¿Es normal? (No lo creo). ¿Qué podría estar pasando?

He reinstalado el framework MVC 3 pero todavía ocurre lo mismo.

Nota: este es un nuevo proyecto desde cero, no una migración MVC 2. Esto ocurre tanto con el motor Razor como con ASPX.

Este es el Web.Config en la carpeta Vistas:

<?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> </sectionGroup> </configSections> <system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> </namespaces> </pages> </system.web.webPages.razor> <appSettings> <add key="webpages:Enabled" value="false" /> </appSettings> <system.web> <httpHandlers> <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> </httpHandlers> <!-- Enabling request validation in view pages would cause validation to occur after the input has already been processed by the controller. By default MVC performs request validation before a controller processes the input. To change this behavior apply the ValidateInputAttribute to a controller or action. --> <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> <controls> <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="BlockViewHandler"/> <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> </handlers> </system.webServer> </configuration>

¡Gracias!


Disculpas por el post necro.

Al seleccionar "Crear | Reconstruir solución", corregí este problema en Visual Studio 2015. En mi caso, las advertencias se produjeron después de cambiar el nombre del espacio de nombres principal de un proyecto. Una reconstrucción puso todo en orden.


En mi caso, faltaba la carpeta de Paquetes, incluyendo MVC y Razor, así que actualicé los paquetes en packages.config, volví a abrir la vista y funcionó.


Establezca la propiedad de System.Web.MVC, Copy Local = True


Estoy usando ASP .net core. Resolví la mía actualizando Microsoft.AspNetCore.Mvc de 1.1.2 a 1.1.3 .


He resuelto este problema con la solución predeterminada de Microsoft, buena y sabia: reinstalar todas las cosas nuevamente.

Desinstale y vuelva a instalar Visual Studio 2010 y MVC 3 Framework.


Intenté eliminar el proyecto que aún está en problemas de la solución y volver a agregarlo, después de lo cual el problema había desaparecido.


Limpie su solución y bajo referencias. A continuación, establezca la siguiente propiedad:

System.Web.MVC file to Copy Local = True.


Lo que funcionó para mí fue cerrar Visual Studio, eliminar los archivos de opciones del usuario (tanto a nivel de solución como de proyecto) y luego volver a iniciar Visual Studio.


Para mí, acabo de reiniciar mis estudios visuales y todo se arregló.


Para mí, esto solo parecía ser el hecho de que tenía advertencias del compilador. El código aún se compilaría y ejecutaría bien, pero no fue hasta que reparé todas las advertencias de compilación que mi Intellisense comenzó a funcionar.


Tal vez llegue un poco tarde para responder esta pregunta, pero esta solución fácil me ayudó:

Haga clic derecho en el archivo> Excluir del proyecto. Haga clic derecho en el archivo> Incluir en proyecto.


También experimenté esto en ASP.NET MVC 4, después de desinstalar EntityFramework de mi lista de paquetes.

Tuve que quitar esta sección

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, ....

eso queda en el archivo Web.config ... al menos eliminó los errores de la lista de errores


Todo lo que tenía que hacer era cerrar todas las vistas que estaban abiertas en el editor y reconstruir.


Tu podrías intentar:

  1. Cierra la View con los errores falsos.

  2. Cerrar Visual Studio

  3. Reabrir el mismo proyecto.

  4. Abre una View diferente y luego la que causa los errores.

  5. Cierre esa View , es de esperar que no haya visto ninguno de los errores similares en esta View

  6. Vuelva a abrir la View que le dio problemas antes


Tuve este mismo problema en MVC 4. Ninguna de estas soluciones funcionó para mí. En cambio, en Windows, entré en el Panel de control -> Desinstalar un programa. Seleccione Microsoft ASP.NET MVC 4 en la lista de programas. Haga clic en ''Desinstalar''. Aparecerá un asistente de "Configuración de Microsoft ASP.NET MVC 4". Haga clic en ''Reparar''.


<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory>

Solución para este problema en web.config.