c# - 如何在 ASP.NET MVC 中使用 View 模型来显示计算字段?

标签 c# asp.net-mvc viewmodel

我想在 View 中显示一个计算字段,所以我尝试创建一个像这样的 View 模型:

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”的表,因此我无法访问 Tests 表中的数据。

我认为 View 模型不应该有 id,但如果没有,脚手架将不会生成 Controller 。

使用 View 模型在 View 中显示计算字段的正确方法是什么?

最佳答案

我可以在不使用 View 模型的情况下解决它

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

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

关于c# - 如何在 ASP.NET MVC 中使用 View 模型来显示计算字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30205383/

相关文章:

c# - 在 C# + PHP 中使用命名管道进行进程间通信

c# - Mvc BundleConfig 缩小 ="false"问题

c# - MVVM 根据 ComboBox 所选项目加载 View

c# - ASP MVC 3 - 来自 ViewModel 的图表

C# Mono/.NET差分CAD软件检索

java - 在 Java 和 C# 之间编码和解码 Base64 字符串

javascript - 引用 View 文件夹中的 JavaScript 文件 - MVC 5

android - ViewModel 观察者方法返回 null

c# - 在 .net 中以编程方式解压缩文件

c# - 如何防止生成验证属性?