1

ASP.NET MVC を使用することにしましたが、最初に置き換えたい部分はモデルです。モデルにはLLBL Proを使用しています。

シンプルなルックアップ テーブルである「グループ」というテーブルがあります。テーブルの結果を取得して、MVC にリストを作成したいと考えています。非常に単純なはずの何か...またはそう思った....次のようなエラーが発生したため、あらゆる種類のことを試しました。

ディクショナリに渡されたモデル アイテムのタイプは「System.Collections.Generic.List 1[glossary.EntityClasses.GroupEntity]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable1[glossary.CollectionClasses.GroupCollection]」です。

private GroupCollection gc = new GroupCollection();

    public ActionResult Index()
    {

      gc.GetMulti(null);
      return View( gc.?????? );
    }

これが私がやろうとしているすべてです。多くのバリエーションを試しましたが、私の目標は単にデータを取得して表示することです。

4

4 に答える 4

2

これが機能するかどうかはわかりませんが、EntityCollection を ViewModel クラスにラップして、次のように View に渡すことができます。

public class GroupsViewModel()
{
    public GroupCollection Groups { get; set; }
    // other items in your view model could go here
}

次に、コントローラーメソッドを次のように変換します

public ActionResult Index()
{
    GroupCollection gc = new GroupCollection();
    gc.GetMulti(null);
    GroupsViewModel vm = new GroupsViewModel();
    vm.Groups = gc;
    return View(vm);
}

各 ViewModel はそれ自体がオブジェクトであるため、私はこのアプローチを気に入っています。

于 2010-01-26T16:41:13.027 に答える
0

ユーリーが言ったことを踏まえると、あなたの見解はあなたのグループのコレクションの「コレクション」に強くタイプされているように見え、あなたはあなたのグループのコレクションだけを渡そうとしています。「コレクション」タイプ(IEnumerable、IListなど)が、コレクション内の実際のオブジェクトのタイプとともに、コントローラーで送信するコレクションのタイプと一致することを確認してください。

ビュー:System.Collections.Generic.List1 [glossary.EntityClasses.GroupEntity]

コントローラー:System.Collections.Generic.List1 [glossary.EntityClasses.GroupEntity]

ちょっとした考え

于 2010-05-21T16:08:55.817 に答える
0

????? で AsEnumerable 拡張機能を使用できます。ViewUserControl (マークアップ内) のタイプを System.Collections.Generic.List タイプに変更するか、または変更します。基本的に、修正する必要があるのは、ビューのタイプと渡されるモデルの不一致です。

于 2009-10-14T19:45:36.007 に答える
0

あなたの正確なエラーについてはわかりませんが、次の 2 つのいずれかが起こっていると思います。

  • LLBLGen オブジェクトに対して何らかの無効/不正な呼び出しを行っています。この場合は、正しく設定している/正しいメソッド/プロパティなどを呼び出していることを確認してください。

  • veiw に渡しているモデルは毛が多すぎて処理できません。この場合、一般的には、表示したいデータだけを含む軽量の「ビュー モデル」クラスを作成し、最初に LLBLGen オブジェクトからデータを入力してから、それをビューに渡す必要があります。これにより、ビュー モデルを簡単に処理できるようになります。クラス。

ここにいくつかの参照があります:

于 2009-10-14T19:45:59.557 に答える