mvc html.displayfor,我想了解@ Html.DisplayFor(modelItem = item.FirstName)中的lambda表达式...
為了理解Visual Studio生成的代碼,我也付出了很多努力。 除了提供有關lambda表達式的一般說明外,我想使用ASP.NET MVC框架作為上下文。
假設我們準備了一個具有2個屬性的Model類(例如Destination):City和ProvinceCode。
public class Destination
{
public string City { get; set; }
public string ProvinceCode { get; set; }
}
生成Controller和View之后,我們應該如上所述通過Visual Studio獲取生成的代碼。 但是,生成的代碼有些難以理解,尤其是對于數據行
@Html.DisplayFor(modelItem => item.City)
我只是猜想MVC團隊應該認為HTML助手類應該在cshtml文件中一致使用。 因此,他們試圖使用技巧來傳遞C#編譯器。 在這種情況下,modelItem甚至都不用作此lambda表達式的輸入參數。 我們不能使用(),因為類型不正確。 這就是為什么,如果我們替換模型或任何模型對象,lambda表達式就會起作用。
老實說,我想以更易讀的形式重寫生成的代碼。 代替使用Html幫助器類,我們可以簡單地呈現正確的輸出,如下所示:
@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
}
總結
以上是生活随笔為你收集整理的mvc html.displayfor,我想了解@ Html.DisplayFor(modelItem = item.FirstName)中的lambda表达式...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银保监局招聘计算机岗位备考,2019年中
- 下一篇: html中小于和大于怎么判断,html