Вставить проблемы, используя EF в MVC - PullRequest
0 голосов
/ 14 июня 2011
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/ApexAdmin.Master"
Inherits="System.Web.Mvc.ViewPage<ApexTrackDays.Models.Event>" %>
 <% using (Html.BeginForm())
                   {%>
                <%: Html.ValidationSummary(true) %>
                 <tr><td>Experience level</td><td><div class="editor-field">
                    <%: Html.DropDownListFor(model => model.ExperienceLevelID, (SelectList)ViewData["Experience"], "--select--")%>
                    <%: Html.ValidationMessageFor(model => model.ExperienceLevelID) %>
                </div></td></tr>

                <tr><td>No of Helmets</td><td><div class="editor-field">
              <%: Html.DropDownList("helmets", (SelectList)ViewData["size"], "--select--")%>
               </div></td></tr>

                 <tr><td>No of Garages</td><td><div class="editor-field">
              <%: Html.DropDownList("garages", (SelectList)ViewData["garages"], "--select--")%>
               </div></td></tr>


                [HttpPost]
    public ActionResult Create(Event trackday)
    {

        ViewBag.mode = "create";
         // for dropdown experience -- Inserts into Events table
        IExperienceLevelRepository expLevelResp = new ExperienceLevelRepository();
        IQueryable<ExperienceLevel> expLevel = expLevelResp.GetAllExperienceLevels().OrderBy(ExperienceLevel => ExperienceLevel.Name);
        ViewData["Experience"] = new SelectList(expLevel, "ID", "Name");

       // dropdown for helmets -- This should insert into Products table
        var helmets = Enumerable.Range(1, 200).Select(x => new SelectListItem { Value = x.ToString(), Text = x.ToString() });
        ViewData["helmets"] = new SelectList(helmets.ToList(), "Value", "Text");

        // dropdown for garages -- This should insert into Products table
        var garages = Enumerable.Range(1, 50).Select(x => new SelectListItem { Value = x.ToString(), Text = x.ToString() });
        ViewData["garages"] = new SelectList(garages.ToList(), "Value", "Text");
        if (ModelState.IsValid)
        {
            trackday.DateAdded = DateTime.Now; //Inserts Date into Events table
            trackday.DateModified = DateTime.Now; //Inserts Date into Events table
            trackdayResp.Add(trackday);
            trackdayResp.Save();
            return RedirectToAction("Index");
        }
        else
        {
            return View();
        }
    }

Привет, у меня есть связь один-ко-многим с Events (1): Products (*) [1event может иметь разные доступные продукты], но при вставке данных с использованием EF он только вставляется в таблицу событий, он не каскадно вставляет с таблицей продуктов, любые идеи или любая помощь будут высоко оценены. спасибо

1 Ответ

0 голосов
/ 14 июня 2011

Нет ничего для ваших продуктов Попробуйте добавить строку

<%: Html.EditorFor(model=>mode.Products) %> 

, который будет отображать редактор для ваших продуктов, но вы, вероятно, захотите настроить его, создав Products.ascx в EditorTemplates

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...