我的 Create razor View 中有以下代码段:

@Html.EditorFor(model => model.UnitPrice)

尝试使用如下语句直接设置 UnitPrice:
@Model.UnitPrice = 100;

我得到了类似空指针异常的信息:Object reference not set to an instance of an object.
如何在发布之前为字段分配常量值以创建发布方法?

最佳答案

在将模型传递给 View 之前,您需要在模型中设置属性的值。假设你的模型是

public class ProductVM
{
    ....
    public decimal UnitPrice { get; set; }
}

然后在 GET 方法中
ProductVM model = new ProductVM()
{
    UnitPrice = 100M
};
return View(model);

如果该值是适用于所有实例的“默认”值,您还可以在无参数构造函数中设置其值
public class ProductVM
{
    public ProductVM()
    {
        UnitPrice = 100M;
    }
    ....
    public decimal UnitPrice { get; set; }
}

请注意, NullReferenceException 的原因是您尚未将模型传递给您的 View 。

关于c# - asp.net mvc : directly assign value to model inside razor view,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37531271/

10-11 05:54