1 。@Html.EditorFor(m => m)顯示整個模型編輯器。
@Html.EditorFor(m => m.propertyName)顯示模型的特定屬性編輯器。
2 。
@Html.EditorFor(m => m)等於 @Html.EditorFor(t => t)或 @Html.EditorFor(randomName => randomName). 名稱並不重要,只是參數的名稱。 此參數的類型是view model的類型。
有意義,因為它不是唯一值,所以必須將函數。 反射用來獲取屬性,用來描述如何顯示屬性。 來看看這個例子public class ResetPasswordModel
{
public string Username { get; set; }
[DataType(DataType.Password)]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
public string PasswordConfirmed { get; set; }
}
屬性描述上那NewPassword應該是密碼欄位,而不是普通的輸入。 如果我們傳遞值后,就不可能有。
在我們的示例 @Html.EditorFor(m => m)將顯示為包含一個輸入的兩個密碼的輸入用戶名和密碼。 @Html.EditorFor(m => m.NewPassword)則顯示輸入,其類型為password 。
3 。
http://msdn.microsoft.com/en-us/library/ee402949.aspxpublic static MvcHtmlString EditorFor(
this HtmlHelper html,
Expression> expression
)
這是HtmlHelper類的擴展方法。 this HtmlHelper html不是那個函數的參數,將對象從內存中釋放,擴展了。