Как добавить данные в asp.net mvc? - PullRequest
1 голос
/ 11 декабря 2011

Если я добавляю данные в таблицу, у которых нет связей, все хорошо: данные добавляются. Но если таблица имеет отношения, это что-то не так

Вот мой проект, что я имею в виду, например AddSt в RouteController. http://zalil.ru/32249903 Вот контроллер:

[HttpGet]
    public ActionResult AddSt(int RouteId)
    {
        var routeDetails = (from rd in db.Route
                            join rdd in db.RouteDetail
                            on rd.RouteId equals rdd.Route.RouteId  ///check
                            where rd.RouteId == RouteId
                            select rdd).FirstOrDefault();
        return View(routeDetails);
    }

    [HttpPost]
    public ActionResult AddSt(RouteDetail rd)
    {
        try
        {

            if (ModelState.IsValid)
            {
            db.AddToRouteDetail(rd);
            db.SaveChanges();
            return RedirectToAction("Index");
            }
        }
        catch (Exception e)
        {
            ModelState.AddModelError("Error!", e);
        }
        return View();
    }

и просмотр:

 <% using (Html.BeginForm("AddSt","Route")) {%>
    <%= Html.ValidationSummary(true) %>

    <fieldset>
        <legend>Fields</legend>



        <div class="editor-label">

        </div>
        <div class="editor-field">
            <%= Html.TextBoxFor(model => model.Route.RouteId)%>
            <%= Html.TextBoxFor(model => model.Station)%>
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>

<% } %>

Почему я не могу написать model => model.RouteId ???? В чем дело? Почему таблица TrainSheduleDBEntities RouteDetail не генерирует поле RouteID?

1 Ответ

1 голос
/ 11 декабря 2011

Вы выбираете только RouteDetail (rdd)

Итак, вы хотите модель.RouteId

Просто добавьте отладку в действие addst. Посмотрите, что в RD.

Я предполагаю, что в нем нет действительного routeid.

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