0

単純かもしれませんが、理由がわかりません

ビューでリスト属性にアクセスできません:

ご覧のとおり、RelacionamentoNomeadoModel クラス Modelのリストを含むクラスがあります。

    public class RelacionamentoNomeadoModel
    {
        public int idRelacionamento { get; set; }
        public string nomeTipoRight { get; set; }
        public string nomeTipoLeft { get; set; }
    }

    public class RelacionamentoListModel
    {
        public List<RelacionamentoNomeadoModel> lista { get; set; }
    }

次に、モデルを構築し、RelacionamentoNomeadoModel クラスにデータを入力して、後で List Controllerを含むクラスに追加します。

var relacionamentoObj = from r in context.sistema_relacionamento
                                        join d in context.sistema_DocType on r.idTipoLeft equals d.id
                                        select new tgpwebged.Models.SettingsModels.RelacionamentoNomeadoModel
                                        {
                                           idRelacionamento = r.id,
                                           nomeTipoLeft = d.tipoName,
                                           nomeTipoRight = d.tipoName
                                        };

                return PartialView(relacionamentoObj.ToList());

最後に、 rela.lista.idRelacionamento またはその他のプロパティにアクセスしようとしています。ビューに渡した後ではなく、コントローラーからアクセスでき ます

   @{
    List<tgpwebged.Models.SettingsModels.RelacionamentoListModel> relacionamentos = Model;

    foreach(var rela in relacionamentos) {
    rela.lista.
}

}

4

2 に答える 2

0

強く型付けされたモデルとしてデータをビューに渡すため、ビューに以下の行を追加する必要があります。

     @model ProjectName.Models.YourModelName
于 2012-12-12T15:01:57.147 に答える
0

問題は、ビューにオブジェクトのコレクションを渡しているのに対し、ビューRelacionamentoNomeadoModelではモデルがのコレクションであると想定していることですtgpwebged.Models.SettingsModels.RelacionamentoListModel。なぜRelacionamentoListModelクラスが必要なのかわかりませんが、このコードを使用すればうまくいくと思います。

@{
    List<RelacionamentoNomeadoModel> relacionamentos = Model;

    foreach(var rela in relacionamentos) {
       // DO SOMETHING
    }
}
于 2012-12-12T15:00:52.047 に答える