gpt4 book ai didi

c# - 在 cshtml 文件中使用模型对象

转载 作者:太空狗 更新时间:2023-10-30 01:36:10 24 4
gpt4 key购买 nike

我是 MVC 4 的新手(在使用网络表单 10 年后),有一个我一直无法弄清楚的问题。
在 cshtml 文件中编写代码时,我正在浏览包含以下行的教程:

@Html.DisplayNameFor(model => model.City)  

model => model.City 意味着什么?为什么我不能使用 @Html.DisplayNameFor(model.City) ?我知道这是 Linq 查询,但我想了解为什么我需要 model goes to model.city

最佳答案

通常,这称为 lambda expression .在你的场景中,你告诉DisplayNameFor “采用我的模型,并为此属性创建显示元素”的方法。。您不能使用 model.City ,因为它只返回属性的值。为了为您的属性创建显示元素,该方法需要的不仅仅是这些。例如,它需要知道它的类型以及它的属性(如 DisplayName 属性),然后它为您的元素创建一个显示元素(我猜应该是标签)。

DisplayName方法是使用 Expression Trees 来做到这一点.该方法采用Expression<Func<TModel, TValue>>并使用它来获取有关您的属性(property)的名称、值(value)和元数据信息(属性)。

如果你想使用model.City您仍然可以使用它,但是您将不需要 DisplayNameFor 的功能提供。如果您只需要显示属性的值,您总是可以这样做:

<label> @model.City </label>

I understand this is Linq query,

顺便说一句,这是不正确的,那不是 LINQ查询。那只是一种扩展方法。

关于c# - 在 cshtml 文件中使用模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976281/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com