mvc html.displayfor,我想了解@ Html.DisplayFor(modelItem = item.FirstName)中的lambda表达式...
為了理解Visual Studio生成的代碼,我也付出了很多努力。 除了提供有關(guān)lambda表達(dá)式的一般說明外,我想使用ASP.NET MVC框架作為上下文。
假設(shè)我們準(zhǔn)備了一個(gè)具有2個(gè)屬性的Model類(例如Destination):City和ProvinceCode。
public class Destination
{
public string City { get; set; }
public string ProvinceCode { get; set; }
}
生成Controller和View之后,我們應(yīng)該如上所述通過Visual Studio獲取生成的代碼。 但是,生成的代碼有些難以理解,尤其是對(duì)于數(shù)據(jù)行
@Html.DisplayFor(modelItem => item.City)
我只是猜想MVC團(tuán)隊(duì)?wèi)?yīng)該認(rèn)為HTML助手類應(yīng)該在cshtml文件中一致使用。 因此,他們?cè)噲D使用技巧來傳遞C#編譯器。 在這種情況下,modelItem甚至都不用作此lambda表達(dá)式的輸入?yún)?shù)。 我們不能使用(),因?yàn)轭愋筒徽_。 這就是為什么,如果我們替換模型或任何模型對(duì)象,lambda表達(dá)式就會(huì)起作用。
老實(shí)說,我想以更易讀的形式重寫生成的代碼。 代替使用Html幫助器類,我們可以簡(jiǎn)單地呈現(xiàn)正確的輸出,如下所示:
@foreach (var item in Model) {
@* Code Generated by Visual Studio. modelItem is a dummy param *@
@Html.DisplayFor(modelItem => item.City)
@* A better way - simply get rid of Html helper class *@
@item.ProvinceCode
}
總結(jié)
以上是生活随笔為你收集整理的mvc html.displayfor,我想了解@ Html.DisplayFor(modelItem = item.FirstName)中的lambda表达式...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银保监局招聘计算机岗位备考,2019年中
- 下一篇: html中小于和大于怎么判断,html