1

私は1つのプロジェクト名MVC1を持っています

私は以下の2つのクラスを持っています:

public class category
{
   public int ID {get;set;}
   public string Name {get;set;}
}

public class detail
{
   public int Id {get;set;}
   public string Name {get;set;}
   public int CategoryID{get;set;}
}

および 2 つのインターフェイス

  public inteface ICategory

  {

  IList<category> ListCategory();

  }

  public interface IDetail

  {

  IList<Detail> ListDetail();

  }

およびインターフェイス ICategory からの 1 つのモデル RCateory 継承

   public IList<Category> FindAllCategory()

    {

        List<Category> Listcategory_ = new List<Category>();

        foreach (var category in Listcategory)

        {

            Listcategory_.Add(category);

        }

        return Listcategory_;

    }

および 1 インターフェイス IDetail からのモデル名 RDetail 継承

   public IList<Detail> FindAllDetail()

    {

        List<Detail> Listdetail_ = new List<Detail>();

        foreach (var detail in Listdetail_)

        {

            Listdetail_.Add(detail);

        }

        return Listdetail_;

    }

と 1 コントローラ

  DetailController

  private RDetail rDetail = new RDetail();

  private RCategory rCategory = new RCategory();

  public ActionResult ListDetail()

  {

  var detail = rdDetail;

  return View("CreateDetail");

  }

および 1 つのビュー タイプ (cshtml) CreateDetail コンテナー

  @model MVC1.Detail

カテゴリに入れるにはどうすればいいですか@Html.DropDownListFor

4

1 に答える 1

0

ASP.NET MVC アプリケーションではいつものように、ビューに必要なものすべてを含むビュー モデル クラスを作成することから始めます。

public class MyViewModel
{
    public Detail Detail { get; set; }
    public IEnumerable<SelectListItem> Categories { get; set; }
}

次に、コントローラー アクションにデータを入力させ、このビュー モデルをビューに渡します。

public ActionResult ListDetail()
{
    var model = new MyViewModel();
    model.Detail = rDetail;
    model.Categories = FindAllCategory().Select(x => 
        Value = x.ID.ToString(),
        Text = x.Name
    );
    return View("CreateDetail", model);
}

最後に、ビューはビュー モデルに強く型付けされ、ドロップダウンを表示できるようになります。

@model MyViewModel
...
@Html.DropDownListFor(x => x.Detail.CategoryID, Model.Categories)
于 2013-01-18T12:26:33.450 に答える