2011-02-18 9 views
8

Estoy probando MVC Scaffolding en un proyecto VB.NET MVC3 y me encuentro con un problema con el enlace tardío con Option Strict activado (y lo quiero).Problema de enlace tardío con MVC3 ViewBag en VB.NET

Esto funciona en C#:

public ActionResult Create() 
{ 
    ViewBag.PossibleTeams = context.Teams; 
    return View(); 
} 

pero el prácticamente el mismo código en VB.NET:

Public Function Create() As ActionResult 
    ViewBag.PossibleTeams = context.Teams 
    Return View() 
End Function 

hace que el compilador de error Option Strict On no permite el enlace en tiempo. Eché un vistazo a la documentación aquí: http://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(VS.98).aspx pero no fue muy útil.

noto que una nueva aplicación de vacío en C# utiliza el ViewBag en el HomeController pero la versión VB.NET utiliza ViewData, así que quizás esto es una limitación VB.NET.

+0

Acabo de crear un nuevo proyecto VB.Net utilizando la plantilla de la aplicación de Internet para MVC4 RC y utilizó la propiedad ViewBag. No compiló hasta que lo reemplacé con ViewData. –

Respuesta

13

Esto no es un problema de Confianza. Opción estricta No permite el enlace tardío. En VB.Net, use el objeto ViewData en su lugar y mantenga su configuración Option Strict On.

+0

Teniendo en cuenta las plantillas utilizadas ViewData, calculé que este debe ser el caso, así que eso es lo que he estado usando. – CrispinH

0

El mayor problema con ViewBag en VB (y el motivo por el que la plantilla de VB usa ViewData) es que la carpeta de VB no funciona con elementos escritos como dinámicos en confianza media. Intenta configurar tu aplicación con total confianza.

+0

Cambié el archivo web.config a Full Trust, pero no hace ninguna diferencia en el error de tiempo de compilación. No he tenido problemas de confianza antes, así que esta sería una nueva avenida para mí. – CrispinH

Cuestiones relacionadas