0

asp.net MVC で最初のサイトを作成していますが、非常に初心者の質問があります。コントローラーで、ページに表示したいもののアクションビューを返していることがわかりました[ウェブサイトのほとんどの例では、ページのコンテンツのみが表示されていることがわかります]。3 つのドロップダウン リスト、2 つのテーブル、2 つのラジオ ボタンなどをロードする必要がある場合はどうすればよいでしょうか。これらの多くのコントロールをページにロードするためのベスト プラクティスと正しい方法は何ですか?

4

2 に答える 2

2

通常表示される例では、MVCのスキャフォールディングを使用しています。これにより、特定のモデルクラスを操作するための非常に単純なコントローラー/アクション/ビューが作成されます。ただし、ページに必要なものを自由に表示できます。ドロップダウンリストを表示する方法の例を次に示します。

まず、ページに表示するすべてのものを保持するオブジェクトを作成します。

public class GameDetailsViewModel
{
    public Game Game { get; set; }
    public SelectList Players { get; set; }
}

に注意してくださいSelectList。のソースとして使用されDropDownListます。

次に、Actionこのオブジェクトを塗りつぶします。

public ViewResult Details(int id)
{
    GameDetailsViewModel viewModel = new GameDetailsViewModel();
    viewModel.Game = db.Games.Single(g => g.ID == id);

    IEnumerable<Player> players = db.Players();
    viewModel.Players = new SelectList(players, "ID", "FullName");

    return View(viewModel);
}

View()ページに必要なものをパッケージ化するために作成したオブジェクトを取得するメソッドのオーバーロードに注意してください。

次に、ビューで、HtmlHelperを使用してDropDownListをレンダリングできます。

@using (Html.BeginForm("signup", "games", FormMethod.Post))
{
    @Html.DropDownList("playerID", Model.Players, "Select...", null)
    <input type="submit" value="Sign up" />
}

これは非常に単純な例ですが、拡張してビューに必要なものを送信し、プレーンな古いHTMLまたは便利なHtmlHelpersを使用してレンダリングすることができます。

于 2011-05-19T08:20:43.517 に答える
2

クリス

ASP.Net Web フォームのようなコントロールを使用することを期待しているようです。ただし、MVC では、View は標準の HTML で構成されます。あなたが言及したコントロールは、入力選択などです。必要な HTML をレンダリングするためにビューで使用できるさまざまなヘルパー クラスとメソッドがあります。特に、Razor 構文を見てください。

私はいくつかの例を見ることから始めたいと思います.それはより明確になるはずです....ここに良いものがあります: http://www.nerddinner.com/ (ソースコードはこちらhttp://nerddinner.codeplex.com/ ) Amazon からも数冊の本を手に入れるかもしれません。

HTH

フィル

于 2011-05-19T07:50:29.690 に答える