0

皆さんが私に質問に答えてくれることを願っていますか?

ASP.NET MVC3の使用を開始したばかりですが、ある時点でスタックが解除されました。私は本からこのことを学んでいますが、いくつかのことについて少し確信が持てません。

VIEWは、@ Model参照を1つだけ持つことができますか?

現時点では、ViewResultでHTTP-POSTを使用してVIEWを設定しています。これは、ユーザーが入力してから「投稿」したビューのデータを検証し、この情報をデータベースに書き戻すメソッドに渡します( ADO.NET-アクセス)。次に、ビューを変更して、コントロールのドロップダウンリストのテキストボックスをいくつか置き換える必要があります。これらのコントロールに入力するデータは、データベースから渡す必要があります。

このデータはページのHTTP-GETビュー結果で渡される必要があると言って正しいでしょうか。その場合、この同じビュー(* .cshtml)で複数の@Modelを参照できますか。

ユーザーの応答を受け取るクラスがあり、これはビューで参照されます。ただし、ドロップダウンリストデータ用に新しいクラスを作成し、それも参照する必要がありますか。バックグラウンドでデータをSelectListItemに入力し、それをビューに渡してから、ビュー内の各ドロップダウンコントロールに入力しますか?

これがうまく書かれておらず、説明するのが非常に難しい場合は申し訳ありません。本から学ぶのは難しいと思い、今はかなり行き詰まっています。どんな助けでもいただければ幸いです。これがどのように行われるかを理解するためだけに。私はC#構文に慣れていますが、MVC3についてはよくわかりません。

4

2 に答える 2

2

これを処理するには 2 つの方法があります。

  • ビュー モデルを使用します。

このシナリオでは、データ モデルとビューに必要なその他のものを含むクラスがあるため、次のようになります。

public class ViewModel
{
    public MyDomainModel Model { get; set; }
    public IEnumerable<SelectListItem> SelectListItems { get; set; }
}
  • ViewBagを使用します。

この場合、余分なものをすべてViewBagディクショナリに追加します。したがって、コントローラーには次のようなものがあります。

ViewBag.SelectListItems = new SelectListItem[] { ... };

次に、ビュー自体で参照できます

@Html.DropDownList("myselectlist", ViewBag.SelectListItems)
于 2012-07-03T07:31:58.527 に答える
1

これは、 pluralsight mvc3 introに役立つと思います。確かに助かった

于 2012-07-03T07:36:17.507 に答える