如何在 View 中进行乘法?或者有最佳实践?项目-汽车租赁。 我的 Controller 采用参数 int numberDays。 我需要计算所有日期的 View 总价格。需要将一天的价格乘以天数。然后这个参数必须以 Controller 的形式传递。
public ActionResult DayView(int numberDays)
{
//
}
在 foreach 中的 View 中,我显示 numbercar、colorcar 和其他...
@model IEnumerable<Car>
foreach (Car car in Model)
{
//other parameters
<p>Full Price</p>:Model.CostOneDay //need multiply numberDays
}
如何<p>Full Price</p>:@(car.CostOneDay * Model.NumberOfDays)
这个参数添加在hiddenfor中,我需要将此表单传递给 Controller
最佳答案
您可以创建一个包含 Cars
和 NumberOfDays
属性的 View 模型类
public class MyViewModel
{
public IEnumerable<Car> Cars { get; set; }
public int NumberOfDays { get; set; }
}
然后在 Controller 中使用它并将其传递给 View
public ActionResult DayView(int numberDays)
{
MyViewModel model = new MyViewModel();
model.NumberOfDays = numberDays;
model.Cars = ...; // get the car records here
return View(model);
}
并按如下方式更改您的 View
@model MyViewModel
foreach (Car car in Model.Cars)
{
//other parameters
<p>Full Price</p>:@(car.CostOneDay * Model.NumberOfDays)
}
编辑
如果您想在 @Html.HiddenFor
中使用乘数价格,那么您需要向 Car
类添加一个额外的属性。假设CostOneDay
的类型为decimal,添加decimal类型的FullPrice
属性
public class Car
{
// other properties
public decimal FullPrice { get; set; }
}
然后为 Controller 中的每条汽车记录设置 FullPrice
属性
public ActionResult DayView(int numberDays)
{
MyViewModel model = new MyViewModel();
model.NumberOfDays = numberDays;
model.Cars = ...; // get the car records here
foreach (var car in model.Cars)
{
car.FullPrice = car.CostOneDay * model.NumberOfDays;
}
return View(model);
}
并使用@Html.HiddenFor
,如下所示
@model MyViewModel
foreach (Car car in Model.Cars)
{
//other parameters
<p>Full Price</p>:@car.FullPrice
@Html.HiddenFor(m => car.FullPrice)
}
关于asp.net-mvc - 如何在 View 中相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30239282/