2012-02-14 4 views
2

в моем MVC 3 приложении с эф кодом первым у меня есть база данных с 1 таблицейASP.NET MVC 3 результат запроса

поля столбца

ID

TIME1 Двойного TIME2 Двойного time3 Двойной

мне нужно time3 является результатом умножения time1 и time2 ... Я сделал это с viewbag

Viewbag.Text = db.persons.Sum(o => o.Time1 * o.Time2); 

Но howunfortunately я не могу связать поле time3 результат ... вот мой контроллер и вид

 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); 
    } 

}

@using (Html.BeginForm()) {@Html.EditorFor(model => model.Tempo1) @Html.EditorFor(model => model.Tempo2) @Html.HiddenFor(model => model.Tempo3) 

С HiddenFor в стоимость не работают ... как это сделать с помощью запроса linq? спасибо

ответ

0

Попробуйте что-то вроде этого:

[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); 
} 
+0

Где я декларировать переменную newPerson? В методе HttPost? – Mirko

+0

Спасибо, он работает. Однако значение, которое у меня есть в моем приложении, находится в другой таблице, если я пишу что-то вроде этого, я получаю ошибку – Mirko

+0

Это мой реальный код var x = new Movement() {MovementID = movement.MovementID, EmployeID = движение. EmployeID, Time = motion.Time,}; Стоимость в текущей таблице x.Cost = movement.Time * movement.Employe.Money; Деньги находятся в таблице Employe – Mirko

Смежные вопросы