asp.net-mvc - 如何在 View 中相乘

标签 asp.net-mvc razor

如何在 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 ​​

最佳答案

您可以创建一个包含 CarsNumberOfDays 属性的 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/

相关文章:

c# - Asp.net MVC 4 Ajax.BeginForm 提交 + mvc.grid - 页面重新加载

javascript - Asp.net razor javascript 避免对字符串进行数学运算

c# - 无法使用 JSON 数据在 AJAX 调用中绑定(bind) jQuery DataTable

cookies - cookie 的 If 语句 - WebMatrix/Razor

javascript - 有没有办法将 OnSuccess 脚本添加到我的 Ajax 调用中

c# - 返回字节数组作为具有 Image/png 内容类型的 Http 响应

jquery - 简单的正则表达式在 jQuery 中提取方括号之间的内容

html - 如何覆盖 MVC Razor 中的@section

c# - 修改 bool 类型的 MVC 默认行为

razor - ServiceStack Razor : how do I render a Html. @section 内的局部 View ?