0

こんにちは、配列を一覧表示したいのですが、データは Web サービスから取得されるため、Html.DisplayFor(model=>model.) を使用できません。表示されているコードは次のとおりです。

@using icerik.TahakkukServices


@{
    ViewBag.Title = "Deneme";
    Layout = "~/Views/Shared/_Layout5.cshtml";
}


@{
    TahakkukServicesClient client = new TahakkukServicesClient();
    client.ClientCredentials.UserName.UserName = "service_test";
    client.ClientCredentials.UserName.Password = "...";
    client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None;
    MakbuzList[] liste = client.GetMakbuzListe(2);

}

 @foreach (var item in liste)
 {

Html.DisplayFor(item.Adi) 

                }
4

2 に答える 2

0

まず、ビューから Web サービス呼び出しを行うべきではありません。テストのためにやっているのかもしれません。サービスの呼び出しを処理する BL クラスを作成することをお勧めします。また、最も重要なこととして、ビューに表示するために必要なプロパティをコピーするビュー モデル クラスを作成することを強くお勧めします。

Web サービスによって返されたエンティティをビューで直接使用しないでください。これは非常に悪いことです。先ほど言ったように、ビュー モデルを作成し、ビューで使用するために必要なプロパティを作成します。複雑なケースでは、AutoMapperなどのツールを使用して、Web サービスエンティティとビュー モデルの間でプロパティをマップできます。

于 2012-08-31T15:18:28.320 に答える
0

これは、次の質問に似ています: @Html.DisplayFor 構文は何ですか? .Adi のタイプに関係なく、表示テンプレートを作成する必要があります。

于 2012-08-31T12:07:10.463 に答える