在 ASP.NET Core MVC 中,控制器参数不能在视图中直接使用。相反,需要将控制器参数传递给视图模型,然后在视图中使用视图模型。
以下是一个示例:
控制器代码:
public IActionResult Index(string name)
{
var viewModel = new MyViewModel { Name = name };
return View(viewModel);
}
视图模型代码:
public class MyViewModel
{
public string Name { get; set; }
}
视图代码:
@model MyViewModel
Hello @Model.Name!
在上面的示例中,控制器通过创建一个视图模型并将控制器参数传递给它来将数据传递给视图。视图模型可以包含任何视图所需的数据,并且可以更好地控制数据的格式和类型。视图使用 @model
指令来声明要使用的视图模型类型,并且可以通过模型对象的属性来访问数据。
使用视图模型不仅可以解决直接从控制器参数中读取数据的问题,还可以提供更好的数据控制和类型安全性。