1

VS'12 KendoUI InternetApplication テンプレート C# asp.net EF Code First

私の質問は、 (今渡している)値と(nullを渡す)passの両方を私のものにし、マナーで使用してeに保存する方法です。RegularIenumerablecontrollerDatabasEF Code FirstMany-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);
    }
4

1 に答える 1

1

こちらをご覧ください

  • 行きますViewModels
  • EditorTemplateそれらの概要と使用方法
  • はどのGET Methodように見えるでしょうか
  • はどのEdit Viewように見えるでしょうか
  • View例を挙げてください
  • はどのPost Methodように見えるでしょうか
于 2013-09-24T13:56:26.803 に答える