初始化 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);
}
我有一个模型,想将它用于三个 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);
}