こんにちは私は3つのフィールドを持っています.3つのフィールドがドロップダウンしています。編集ボタンをクリックすると、これらのフィールドに値を渡したいと思います。それは値をドロップダウンフィールドに渡す必要があります。私の見解は、私は多くのドロップダウンを持っていますが、私は別のドロップダウンのために行うことを意味しますダウン一滴に値を渡す方法を知っていれば私の見解ではMVC4の編集モードで値を渡す方法は?
の下に記載されています。
編集では、SQLで1つのビューを作成し、そのビューをアプリケーション内のEDMXファイルとして接続します。このビュー(テーブル)では、Visitorsフォームにあるすべてのフィールドがあります。そのビュー名はView_VisitorsFormです。
マイモデル(VisitorsViewModel)
public Nullable<System.DateTime> Date { get; set; }
public System.Guid VisitingID { get; set; }
public Nullable<System.Guid> EmployeeID { get; set; }
public string EmployeeName { get; set; }
public string Description { get; set; }
私のコードの編集
public ActionResult Edit(Guid ?id)
{
WafeERPNEWEntities db = new WafeERPNEWEntities();
SelectList typelist = new SelectList(db.Employees.ToList(), "EmployeeID", "DisplayName", db.Employees);
ViewData["EmployeeName"] = typelist;
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
VisitorsViewModel ObjVisitorsviewModel = new VisitorsViewModel();
View_VisitorsForm visit = db.View_VisitorsForm.Find(id);
visit.VisitingID = ObjVisitorsviewModel.VisitingID;
visit.VisitingDate = ObjVisitorsviewModel.Date;
visit.Description = ObjVisitorsviewModel.Description;
if (ObjVisitorsviewModel == null)
{
return HttpNotFound();
}
return View(ObjVisitorsviewModel);
}
私のコードの表示
@Html.LabelFor(model => model.Date)
@Html.EditorFor(model => model.Date)
@Html.ValidationMessageFor(model => model.Date)
@Html.LabelFor(model => model.VisitingID)
@Html.EditorFor(model => model.VisitingID)
@Html.ValidationMessageFor(model => model.VisitingID)
@Html.LabelFor(model => model.EmployeeName)
@Html.DropDownList("EmployeeID", (IEnumerable<SelectListItem>)ViewData["EmployeeName"])
@Html.ValidationMessageFor(model => model.EmployeeName)
編集ボタンをクリックすると、この行に値が渡されます。
View_VisitorsForm visit = db.View_VisitorsForm.Find(id);
また、訪問しています。訪問ID。しかし、それはviewmodelの値を取得していません.so値は空でview.All値は空ですVisitingID、説明、日付フィールドは空であり、Employeeドロップダウンでは、このフィールドに渡した値は表示されませんドロップダウンの最初の値を示します。この問題を解決する方法を教えてください。実際に私は私の問題を私のレベルごとに説明しようとしています。あなたが私の問題を理解していなかったり、誰かが私のフルコードを必要としたり、私は再び私のコードを更新する準備ができています。しかし、私は解決策が必要です。
アドバンスのおかげ..
_andをDropDownListForヘルパーメソッドを使用します。それは私がこのfield_に渡された値が表示されませんドロップダウン?あなたはモデルに価値を渡していません! (あなたのコントローラーで 'EmployeeID'の値をどこで設定したのですか?) –
正常に動作させることができましたか? – Maxime