2

これは.NETMVCに実装されることを期待していますが、実際にそれを行う方法を理解しようとしています。現在私のViewModelには、次のものがあります(たとえば):

public class GroupPolicyViewModel
{
   public int PolicyId { get; set; }
   public int HistoryId{ get; set; }
   public SelectList ProductList { get; set; } // tried this
   public List<Product> ProductList1 { get; set; } // tried this
}

このViewModelからビューを自動生成しようとすると、ProductListは無視されます。ViewModelからDropDownListを自動生成する方法はありますか?

4

2 に答える 2

5

モデル付き

public class GroupPolicyViewModel
{
   public int PolicyId { get; set; }
   public int HistoryId{ get; set; }
   public int SelectedProductId{ get; set; }   
   public List<Product> ProductList { get; set; } 
}

DropDownListを作成できます

@Html.DropDownListFor(m => m.SelectedProductId, 
                  new SelectList(Model.ProductList, "ProductId", "ProductName"))

または、モデルに製品のSelectListがある場合

@Html.DropDownListFor(m => m.SelectedProductId, Model.ProductSelectList)

生成されたコードが必要な場合は、データコンテキストクラスを提供するスキャフォールディングオプションを使用する必要があります。これが素敵なチュートリアルMVCミュージックストアです

于 2013-01-17T16:16:12.503 に答える
2

(VS2010から)新しいコントローラーを作成してEntityFrameworkを使用するときにできます。ウィザードでEntityFrameworkと読み取り/書き込み操作を含めるように指定すると、ウィザードはコントローラーとビューの両方を作成します。

ここに画像の説明を入力してください

コントローラに次のようなコードが生成されます[もっとあります]:

   public ActionResult Create()
    {
        ViewBag.CostCentre_ID = new SelectList(db.CostCentres, "ID", "Name");
        ViewBag.Location_ID = new SelectList(db.Locations, "ID", "Name");
        ViewBag.User_ID = new SelectList(db.UCMUsers, "User_ID", "EmployeeNo");
        return View();
    } 

そしてこれはビューで:

<div class="editor-field">
            @Html.DropDownList("User_ID", String.Empty)
            @Html.ValidationMessageFor(model => model.User_ID)
 </div>
于 2013-01-17T16:25:03.420 に答える