我可以为 ViewBag 提供扩展方法吗?

Can I have extension methods for ViewBag?

我可以为 ViewBag 制作 extension methods,还是应该使用 ViewData

我尝试为 object 创建 extension methods,因为这是 ViewBag 的类型,但没有成功。

public static void AddUserData(this object ViewBag)
{

}

谁能解释一下为什么我们不能为 ViewBag 提供扩展方法?

因为 ViewBag 是一个 dynamic type, extension methods 如果不首先转换为适当的类型,将不会根据其属性获取。

我建议您减少对 ViewBag 的使用,以避免必须到处投射。相反,您可以为视图使用强类型视图模型。