2

私はMVC 4を初めて使用し、次のクラスを持っています:

public class BicycleSellerListing
{
    public int BicycleSellerListingId { get; set; }
    public UserProfile UserProfile { get; set; }
    public System.DateTimeOffset ListingDate { get; set; }
    public double ListingPrice { get; set; }
    public string BicycleModel { get; set; }
    public string Color { get; set; }
    public string Comments { get; set; }
    public BicycleManufacturer BicycleManfacturer { get; set; }
    public BicycleType BicycleType { get; set; }
    public BicycleFrameSize BicycleFrameSize { get; set; }
    public DateTime ModelYear { get; set; }
    public ICollection<BicycleAttribute> BicycleAttributeList { get; set; }
}

このクラスの新しいコントローラーを作成したとき、 Entity Framework のスキャフォールディング オプションを使用して、読み取り/書き込みアクションとビューを備えた MVC コントローラーを選択しました。Create.cshtml では、すべての 1:1 および 1:M プロパティ (BicycleManufacturer、BicycleType など) のエディターの作成がスキップされました。VS がこれらのプロパティのドロップダウン リスト エディターを作成するのが理想的でした。

これらのプロパティ用にエディタを作成することはできますか、それとも手動で行う必要がありますか?

4

1 に答える 1

4

複雑なオブジェクトには助けが必要です。ありがたいことに、これを行うのは難しくありません。MVC フレームワークは、この点に関して非常にカスタマイズ可能です。

最初に、編集と表示を処理するビューを作成します。これらは、Views\Shared の下の Editor および Display テンプレート フォルダーに格納されます。

https://github.com/MisterJames/BootstrappingMvc/tree/master/BootstrappingMvc/Views/Shared

UIHint次に、使用するビューを MVC に伝えるために、ビュー モデルのプロパティを装飾します。

https://github.com/MisterJames/BootstrappingMvc/blob/master/BootstrappingMvc/Models/MoviePass.cs

これは、1 対 1 の対応に役立ちます。リスト項目を処理するために MvcScaffolding のようなものを調べたいと思うでしょう。それはかなり良い仕事をします

ここに完全なチュートリアルがあります:

http://jameschambers.com/2012/07/bootstrapping-mvc-say-no-to-checkboxes/

乾杯。

于 2013-02-19T06:19:30.963 に答える