Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 ASP.NET MVC 3查询结果_Asp.net Mvc 3_Linq_Html.hiddenfor - Fatal编程技术网

Asp.net mvc 3 ASP.NET MVC 3查询结果

Asp.net mvc 3 ASP.NET MVC 3查询结果,asp.net-mvc-3,linq,html.hiddenfor,Asp.net Mvc 3,Linq,Html.hiddenfor,在我的带有ef代码的MVC3应用程序中,我有一个带有1个表的数据库 列字段为 身份证 时间1双 时间2倍 时间3双 我需要时间3是时间1和时间2相乘的结果。。。我是用viewbag做的 Viewbag.Text = db.persons.Sum(o => o.Time1 * o.Time2); 但不幸的是,我无法将现场时间3与结果联系起来。。。这是我的控制器和视图 public ActionResult Create() { return View

在我的带有ef代码的MVC3应用程序中,我有一个带有1个表的数据库

列字段为

身份证

时间1双 时间2倍 时间3双

我需要时间3是时间1和时间2相乘的结果。。。我是用viewbag做的

Viewbag.Text = db.persons.Sum(o => o.Time1 * o.Time2);
但不幸的是,我无法将现场时间3与结果联系起来。。。这是我的控制器和视图

        public ActionResult Create()
    {
        return View();
    } 

    [HttpPost]
    public ActionResult Create(Person person)
    {
        person.Tempo3 = db.persons.Sum(o => o.Tempo1 * o.Tempo2);
        if (ModelState.IsValid)
        {

            db.persons.Add(person);
            db.SaveChanges();
            return RedirectToAction("Index");  
        }

        return View(person);
    }
}


使用HiddenFor计算不起作用…如何使用linq查询?谢谢

试试这样的方法:

[HttpPost]
public ActionResult Create(Person person)
{

    if (ModelState.IsValid)
    {
        newPerson = new db.persons {Tempo1 = person.Tempo1, Tempo2 = person.Tempo2};
        newPerson.Tempo3 = peson.Tempo1 * person.Tempo2; 

        db.persons.Add(newPerson);
        db.SaveChanges();
        return RedirectToAction("Index");  
    }

    return View(person);
}

试着这样做:

[HttpPost]
public ActionResult Create(Person person)
{

    if (ModelState.IsValid)
    {
        newPerson = new db.persons {Tempo1 = person.Tempo1, Tempo2 = person.Tempo2};
        newPerson.Tempo3 = peson.Tempo1 * person.Tempo2; 

        db.persons.Add(newPerson);
        db.SaveChanges();
        return RedirectToAction("Index");  
    }

    return View(person);
}

我在哪里声明newPerson变量?在HttPost方法中?谢谢,它可以工作。然而,我在应用程序中的值在另一个表中,如果我写了这样的东西,我会得到错误这是我的实际代码var x=new Movement(){MovementID=Movement.MovementID,EmployeID=Movement.EmployeID,Time=Movement.Time,};成本在当前表x中。成本=移动。时间*移动。员工。金钱;金钱在Employe表中,只需声明另一个变量并使用Linq从Employe表中获取金钱数据。然后用新的变量来计算,像这样?var x=new Movement(){MovementID=Movement.MovementID,EmployeID=Movement.EmployeID,Time=Movement.Time};var y=new Employe(){EmployeID=y.EmployeID,Money=y.Money};xCost=x.时间*y.金钱;db.移动。添加(z);我在哪里声明newPerson变量?在HttPost方法中?谢谢,它可以工作。然而,我在应用程序中的值在另一个表中,如果我写了这样的东西,我会得到错误这是我的实际代码var x=new Movement(){MovementID=Movement.MovementID,EmployeID=Movement.EmployeID,Time=Movement.Time,};成本在当前表x中。成本=移动。时间*移动。员工。金钱;金钱在Employe表中,只需声明另一个变量并使用Linq从Employe表中获取金钱数据。然后用新的变量来计算,像这样?var x=new Movement(){MovementID=Movement.MovementID,EmployeID=Movement.EmployeID,Time=Movement.Time};var y=new Employe(){EmployeID=y.EmployeID,Money=y.Money};xCost=x.时间*y.金钱;db.移动。添加(z);