开发者

Late binding issue with MVC3 ViewBag in VB.NET

I'm trying out MVC Scaffolding in a VB.NET MVC3 project and running into an issue with late binding with Option Strict set on (and I want it on).

This works in C#:

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

but the virtually the same code in VB.NET:

Public Function Create() As ActionResult
    ViewBag.PossibleTeams = context.T开发者_Python百科eams
    Return View()
End Function

causes the compiler error Option Strict On disallows late binding. I took a look at the documentation here: http://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(VS.98).aspx but it wasn't very helpful.

I notice that a new empty application in C# uses the ViewBag in the HomeController but the VB.NET version uses ViewData, so maybe this is a VB.NET limitation.


This is not a Trust issue. Option Strict On disallows late binding. In VB.Net, use the ViewData object instead and maintain your Option Strict On setting.


The mayor problem with ViewBag in VB (and the reason why the VB template uses ViewData) is that the VB binder does not work with things typed as dynamic in medium trust. Try setting your app to full trust.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜