2つのモデルを1つのビューで表示するビューの条件を追加する方法と場所に問題があります。1つのビューで2つのモデルをif条件付きで表示
これはこれはこれはこれは
public ActionResult Index(){
ViewBag.service_provider = dc.service_provider;
ViewBag.pictures = dc.pictures;
return View();
}
私のコントローラである
public int SPID { get; set; }
public string Sp_email { get; set; }
public string Sp_password { get; set; }
public string Sp_name { get; set; }
SERVICE_PROVIDERモデルです
public int PIC_ID { get; set; }
public string pic_name { get; set; }
public Nullable<int> belong_id { get; set; }
public byte[] pic { get; set; }
画像モデルであるビュー
@foreach (service_provider SP in ViewBag.service_provider) {
<tr>
<td>@SP.Sp_email</td>
<td>@SP.Sp_name</td>
<td>@SP.city.Cityname</td>
</tr>}@foreach (picture img in ViewBag.pictures){
<tr>
<td><img src="data:image/png;base64,@Convert.ToBase64String(img.pic,0,img.pic.Length)" width="100" />
</td>
</tr>
}
です
service_providerの詳細を表示するには、belongs_id in pictureの画像がSPID service_providerになるようにしてください。 condition.I'mは、データベースの最初のアプローチを使用している場合、私は追加しないところが、私は理解できませんでした
あなたは、その画像のプロパティで、サービスプロバイダをカプセル化するのviewmodelを作成する必要があります(S )。 – Crowcoder
もう1つのモデルを他のモデルから継承するのはなぜですか? – Auguste
完全に関係のないメモでは、Webページから再度表示するファイルをデータベースに保存することは、通常は悪い方法です。これは、クライアントとサーバーの間の多くのネットワークIOとデータベースIOを生成します。主にクライアントが結果をキャッシュしないため、Webサーバーが効率的にファイルを返すことができないためです。より良いアプローチには、ファイルパスを含むデータベースを使用してクライアントから依然としてアクセス可能なディスク上のファイルを保持すること、またはWebクライアントがキャッシュできるように画像ごとの静的URLに基づいてサイト内にファイルハンドラを書き込むことが含まれます。 – Igor