VS'12 KendoUI InternetApplication テンプレート C# asp.net EF Code First
私の質問は、 (今渡している)値と(nullを渡す)pass
の両方を私のものにし、マナーで使用してeに保存する方法です。Regular
Ienumerable
controller
Databas
EF Code First
Many-2-Many Relationship
以下は私が試したことです
メインビュー
@model OG.Models.UserProfiles @using (Html.BeginForm()) { <div class="editor-field"> <div class="Containter"> <div> @Html.DisplayFor(model => model.UserName) </div> <div class="contentContainer"> @foreach (var item in Model.Prospects) { <table> <tr> <td> @Html.Label("Current Prospects") </td> </tr> <tr> <td> @Html.DisplayNameFor(x=>item.ProspectName) </td> </tr> </table> } </div> </div> <div class="contentContainer2"> @Html.Partial("_UsersInProspectsDDL", new OG.ModelView.ViewModelUserInProspects() { Users = Model.UserName }) </div> </div> }
部分図
@model OG.ModelView.ViewModelUserInProspects <label for="prospects">Prospect:</label> @(Html.Kendo().DropDownListFor(m=>m.Prospects) .Name("Prospects") .HtmlAttributes(new { style = "width:300px"}) //, id = "countys"}) .OptionLabel("Select Prospect...") .DataTextField("ProspectName") .DataValueField("ProspectID") .DataSource(source => { source.Read(read => { read.Action("GetCascadeProspects", "ChangeUsersInfo") .Data("filterProspects"); }) .ServerFiltering(true); }) .Enable(false) .AutoBind(false) .CascadeFrom("Clients") </div>
PartialView のモデル
public class ViewModelUserInProspects { public string Clients { get; set; } public IEnumerable<dbClient> AvailableClients { get; set; } public string Prospects { get; set; } public IEnumerable<dbProspect> AvailableProspects { get; set; } public string Users { get; set; } public IEnumerable<UserProfiles> AvailableUsers {get;set;} } }
主なモデル
Standart SimpleMemberShipUserTable
投稿方法
[HttpPost] public ActionResult UsersInProspect( [Bind(Include= "ProspectName, ProspectID")] UserProfiles userprofiles, ViewModelUserInProspects values, FormCollection form) //<- Trying different things sofar { if (ModelState.IsValid) { //string something = form["Prospects"]; int prosID = Convert.ToInt16(values.Prospects); int UserID = userprofiles.UserID; // <- THIS VALUE is null atm.
これは、両方の ID を EF 生成/マップ テーブルに保存する必要がある場所です。方法がわからない。
db.Entry(userprofiles).CurrentValues.SetValues(userprofiles);
db.Entry(userprofiles).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(userprofiles);
}