如果我将数据添加到表中没有关系,那一切都很好:数据正在添加。 但是如果表有关系,这是错误的

这是我的项目,我的意思是,例如RouteController中的AddSt。 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.RouteId ???? 怎么了? 为什么TrainSheduleDBEntities表RouteDetail不生成字段RouteID?

===============>>#1 票数:1

您仅选择RouteDetail(rdd)

所以你想要model.RouteId

只需在addst操作上进行调试即可。 看看rd是什么。

我猜测其中没有有效的routeid。

  ask by DPS translate from so

未解决问题?本站智能推荐: