我想在 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/