【发布时间】:2026-01-26 06:30:01
【问题描述】:
例如,在一个 MVC 应用程序中,我可以使用 Html 助手来创建这样的标签:
@Html.LabelFor(m => m.ProductName)
我没有在任何地方声明变量“m”,但是 IDE 会自动找出我想要做什么。 IDE 比我更了解我的代码,这有点令人不安。我想解决这个问题。
我主要想知道它是如何知道如何引用我的模型的。
编辑:感谢所有答案。
因此,“Html”是 HtmlHelper 的一个实例。 “Html”是 ViewPage 基类的成员。它的值在 ViewPage 基类的 InitHelpers() 方法中设置。 HtmlHelper 构造函数将 ViewPage 的 ViewContext 作为参数。 ViewContext 知道我使用的是什么模型。 LabelFor 是 HtmlHelper 类的扩展方法。这就是为什么 lambda 表达式知道如何引用我的模型。
点是相连的。谢谢!
【问题讨论】:
标签: c# asp.net-mvc lambda html-helper