10

VB.NET MVC3プロジェクトでMVCスキャフォールディングを試していますが、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

コンパイラエラーが発生します。OptionStrictOnは遅延バインディングを許可しませんhttp://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(VS.98).aspxのドキュメントを確認しましたが、あまり役に立ちませんでした。

C#の新しい空のアプリケーションはを使用しViewBagていますHomeControllerが、VB.NETバージョンはを使用してViewDataいるので、これはVB.NETの制限である可能性があります。

4

2 に答える 2

15

これは信頼の問題ではありません。Option Strict On は遅延バインディングを許可しません。VB.Net では、代わりに ViewData オブジェクトを使用し、Option Strict On 設定を維持します。

于 2011-02-25T03:51:37.610 に答える
0

VBでの市長の問題ViewBag(およびVBテンプレートが使用する理由ViewData)は、VBバインダーが中程度の信頼で動的として入力されたものでは機能しないことです。アプリを完全に信頼できるように設定してみてください。

于 2011-02-18T16:33:58.853 に答える