質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

1回答

19467閲覧

ASP.NETで@modelを複数指定できるのでしょうか?

cancat

総合スコア313

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

1グッド

1クリップ

投稿2017/04/27 02:10

こんにちは。
Windows10でASP.NET MVCのアプリケーションを開発しています。
Visual Studio 2017 Communityを使っています。

そぼくな疑問で恐縮です。
Viewページ(.cshtml)の先頭で、
@model MyPages.Models.PersonModels
@model MyPages.Models.CompanyModels
のように型を指定することができますが、複数指定するとどうなりますか?

具体的には、
PersonModelにPerson.Name(山本彩)、Person.Ageがあり、
CompanyModelにCompany.Name(AKB)、Company.Membersがあるとします。

この場合、
Q1)Model.Nameとすると、山本彩とAKBとどちらになるのでしょう?
Q2)山本彩を明示的に呼ぶにはどうするのでしょう?
Q3)AKBを明示的に呼ぶにはどうするのでしょう?
Q4)Modelはどこで定義しているのでしょう?
#region アセンブリ System.Web.Mvc, Version=4.0.0.0, Culture=neutral
\packages\Microsoft.AspNet.Mvc.4.0.30506.0\lib\net40\System.Web.Mvc.dll
#endregion

namespace System.Web.Mvc{
public TModel Model { get; }
ということはわかるのですが、getだけでどうして値を入れるのでしょう?

###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Visual Studio Community 2017
Version 15.0.26228.9 D15RTWSVC
Microsoft .NET Framework
Version 4.6.01586

です。
よろしくお願いします。

mo-ri👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cancat

2017/04/27 05:52

多数の疑問が出たので、質問しています。放置はしてないですよ。これまでに100回くらい質問しているらしいのですが、(100と出ているので)読み解くのに時間がかかることはあっても、放置は基本的にはしていないつもりです。
cancat

2017/04/27 06:01

ASP.NET MVCは複雑で、同時にいくつも疑問が出ています。ひとつひとつ解決することもあるかもしれませんが、いくつもの疑問のどこかが突破口になり、連鎖的に解決することもあると思います。ひとつを解決しない限り他の質問をできないのいうのでは、制約が大きすぎます。ご理解いただければ幸いです。
退会済みユーザー

退会済みユーザー

2017/04/27 06:57

タイムリーに返事できない事情があれば、「ちょっと待てほしい」とか書いていただければと思います。
guest

回答1

0

ベストアンサー

ご質問の内容の動作結果がどうなるかは動かせばわかることかなーと思いますのと、バットプラクティスの議論をしても仕方ないかと思ったので直接な回答ではなくなりますが、
複数のModel(というよりはViewModelという概念)をViewとやり取りする際のプラクティスをはっておきます。
(改めて書くほどでもないかと思いましたので、Stackoverflowよりリンクをお借りしました)

Multiple models in a view

なぜ一つのViewModelにするか、すべきかとか、ViewModelの責務ってなんだっけっていうのがご不明の場合は、基本的な設計論だったりパターンだと思いますので、ViewModelとかModelに関わるデザインパターンについて調べてみると良いかと思います♪

投稿2017/04/27 05:50

BEACHSIDE

総合スコア294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

cancat

2017/04/27 05:55

コメントありがとうございます。 他の質問でも回答しましたが、基本的な設計論はいまのところ不要です。 Stackoverflowはとても参考になりました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問