最常见的方式是使用模型或 ViewBag。
- 使用模型传递数据:
在控制器中,创建一个模型对象,并将数据赋值给模型的属性。然后将模型传递给 View 方法。
public class HomeController : Controller
{public IActionResult Index(){// 创建模型对象var model = new MyModel();// 将数据赋值给模型的属性model.Name = "T";model.Age = 18;// 将模型传递给视图return View(model);}
}
在视图中,通过在视图顶部声明模型类型,并使用模型属性访问数据。
@model MyModel<h1>Welcome, @Model.Name!</h1>
<p>Your age is: @Model.Age</p>
- 使用 ViewBag 传递数据:
在控制器中,使用 ViewBag 对象将数据存储在动态属性中,并在视图中访问这些属性。
public class HomeController : Controller
{public IActionResult Index(){// 使用 ViewBag 存储数据ViewBag.Name = "T";ViewBag.Age = 18;// 将数据传递给视图return View();}
}
在视图中,使用 ViewBag 对象访问控制器中设置的属性。
<h1>Welcome, @ViewBag.Name!</h1>
<p>Your age is: @ViewBag.Age</p>
3.ViewData 对象。ViewData 是一个字典类型的属性,可以用于存储和传递数据。
在控制器中,使用 ViewData 将数据存储在字典中,并使用键值对的方式进行存取。
public class HomeController : Controller
{public IActionResult Index(){// 使用 ViewData 存储数据ViewData["Name"] = "T";ViewData["Age"] = 18;// 将数据传递给视图return View();}
}
在视图中,通过键访问 ViewData 中存储的数据。
<h1>Welcome, @ViewData["Name"]!</h1>
<p>Your age is: @ViewData["Age"]</p>
使用 ViewData 的优点是它是一个动态属性,存储任意类型的数据。在视图中访问 ViewData 时需要进行类型转换。
综上:
-
使用模型:创建一个模型对象,并将数据赋值给模型的属性,然后将模型传递给视图。
-
使用 ViewBag:使用 ViewBag 对象将数据存储在动态属性中,并在视图中访问这些属性。
-
使用 ViewData:使用 ViewData 字典将数据存储在键值对中,并在视图中通过键访问这些数据。