如何在ASP.NET MVC中使用ViewModel显示计算的字段



我想在视图中显示一个计算的字段,因此我尝试创建一个视图模型:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;    
namespace Facturacion.Models
{
    public class Test
    {
        public int testId { get; set; }    
        [Required]
        public decimal price { get; set; }
    }    
    public class TestViewModel
    {
        [Key]
        public int testId { get; set; }
        public Test test { get; set; }
        public decimal price { get; set; }
        public decimal calculated { get; set; }    
        public TestViewModel(Test test)
        {
            Test = test;
            calculated = Test.price * 2;
        }
    }
}

它给了我一个错误,所以我更改了构造函数:

        public TestViewModel(Test test)
        {
            var foo = test;
            calculated = foo.price * 2;
        }

但是现在,当我构建项目时,它创建了一个名为" TestViewModels"的表,因此我无法在测试表中访问数据。

我认为ViewModel不应该有ID,但是如果它不是脚手架不会生成控制器。

使用ViewModel在视图中显示计算字段的正确方法是什么?

我可以在不使用ViewModel

的情况下解决它
namespace Facturacion.Models
{
    public class Test
    {
        public int testId { get; set; }    
        [Required]
        public decimal price { get; set; }
        public decimal calculated
        {
            get
            {
                return (decimal)(price*2);
            }
        }
    }
}

注意计算的字段没有设置方法。

相关内容

  • 没有找到相关文章

最新更新