Проблема позднего связывания с MVC3 ViewBag в VB.NET - PullRequest
10 голосов
/ 18 февраля 2011

Я пытаюсь использовать MVC Scaffolding в проекте VB.NET MVC3 и сталкиваюсь с проблемой позднего связывания с включенным Option Strict (и я хочу его включить).

Это работает в C #:

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

но практически тот же код в VB.NET:

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

вызывает ошибку компилятора Опция Strict On запрещает позднее связывание . Я взглянул на документацию здесь: http://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(VS.98).aspx, но это не очень помогло.

Я заметил, что новое пустое приложение в C # использует ViewBag в HomeController, но версия VB.NET использует ViewData, так что, возможно, это ограничение VB.NET.

Ответы [ 2 ]

15 голосов
/ 25 февраля 2011

Это не проблема доверия.Опция Strict On запрещает позднее связывание.В VB.Net вместо этого используйте объект ViewData и сохраните настройку Option Strict On.

0 голосов
/ 18 февраля 2011

Проблема мэра с ViewBag в VB (и причина, по которой шаблон VB использует ViewData) заключается в том, что механизм связывания VB не работает с вещами, типизированными как динамические при среднем доверии.Попробуйте настроить приложение на полное доверие.

...