初始化 Razor 页面内模型的值

Initialize value for model inside the Razor page

我有一个模型,想将它用于三个 Razor 页面。唯一的区别是我需要为每个页面设置不同的模型中定义的一个整数 public。我试过了:

@model IndexModel

@{
    ViewData["Title"] = "Home page";
    Model.type = 0;
}

type 是我要设置的值,但模型的 OnGetAsync 方法需要它,它在 @model IndexModel 之后执行。有没有办法将其定义为模型初始化的一部分?

或者,如果有办法获取引用模型的 Razor 页面,我可以为每种情况相应地设置值。

如评论中所述,您应该在控制器中执行此操作,而不是在您的视图中执行此操作。您可以按如下方式进行:

    public ActionResult View1()
    {
        MyModel model = new MyModel();
        model.Type = 1;
        return View(model);
    }

    public ActionResult View2()
    {
        MyModel model = new MyModel();
        model.Type = 2;
        return View(model);
    }