首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Asp.Net MVC :模型与模型在视图上的区别

Asp.Net MVC :模型与模型在视图上的区别
EN

Stack Overflow用户
提问于 2015-09-10 11:47:23
回答 2查看 1.4K关注 0票数 2

同时在视图中使用Html助手。如果我试图编写一个类似于“m=>.”的lambda表达式。小m自动变成“模型”。通常情况下,如果我选择的助手没有"For“字在其中。就像DropdownListFor的DropdownList一样。另外,如果我在lambda表达式中使用任何其他字母,它就会转换为其他的东西。

如果我没有错的话,m=>m.nameModel.name也给出了同样的结果。

为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-10 11:56:25

如果你这样做:

代码语言:javascript
复制
@Html.TextBoxFor(m => m.Name)

这是:

代码语言:javascript
复制
@Html.TextBoxFor(Model => Model.Name)

在Asp.Net MVC的视图中,我们有一个名为Model的属性,它访问从控制器获得的Model (大写M)。这是区分大小写的。

名中没有For单词的Helper (如Html.TextBox()Html.DropDownList() )是帮助器为模型中没有的任何其他字段生成Html标记。实际上,在asp.net mvc的第一个版本中,我们没有强类型视图,因此,我们不能使用Html.TextBoxFor作为示例,因此,我们通常使用这个弱帮助器。

从MVC的内容来看,就lambda表达式而言,参数的名称并不重要。

票数 2
EN

Stack Overflow用户

发布于 2015-09-10 12:18:59

这是因为visual的intellisense。DropDownList希望您提供一个参数,即string而不是lambda表达式。当您尝试输入lambda表达式时,它会在intellisense列表中选择一个单词。例如,如果编写b并输入=,它将自动将其更改为base=.,以使用lambda表达式,使用DropDownlistFor

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32501051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档