【问题标题】:How add data in asp.net mvc?如何在 asp.net mvc 中添加数据?
【发布时间】:2012-01-17 22:42:26
【问题描述】:

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

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

【问题讨论】:

  • 另外为什么类Shedule不能识别?
  • 发表评论后才看到
  • 1. ModelState.AddModelError("错误!", e); // 安全风险 2. 为什么用L2S,用EF。 3. 通过 Tom Dykstra 为 ASP.NET MVC 应用程序创建实体框架数据模型来理解关系。 4. 使用剃刀

标签: asp.net-mvc linq-to-sql asp.net-mvc-2


【解决方案1】:

你只选择了RouteDetail (rdd)

所以你想要model.RouteId

只需对 addst 操作进行调试即可。 看看 rd 里有什么。

我猜里面没有有效的 routeid。

【讨论】:

  • [HttpPost] public ActionResult AddSt(RouteDetail rd) 你必须看到这个!当我插入数据库时​​它不起作用!
  • 所以 RouteDetail 有一个 Route 类型的属性,然后执行它,并在何时填充。仅通过您发布的代码,然后对您没有的内容进行一些猜测。就像在 RouteDetail 类中一样。你试过我的建议了吗?
  • 贴出RouteDetail类的基础知识,尤其是说public Route Route....
  • 对不起,我不明白你在说什么。我是俄罗斯人,我不太懂英语(
  • 我正在使用来自 DB 的 Ado.net 自动生成模型
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多