[ASP.NET MVC] @Html.Label() 、@Html.LabelFor() 和 <label>

<input> 常常搭配 <label> 方便點選,產生的方法是 @Html.Label(),一個引數的寫法如下: @Html.Label("帳號:") // 會產生: <label for="帳號:">帳號:<label> 但是上面的結果通常不是我們要的,for 屬性要填別的 <input> 的 id ,常常是變數,這就要用兩個引數: @Html.Label("txtAccount" // 成為 for,填的是點選後會 focus 到的目標 id , "帳號:") // 成為 textContent ,顯示的文字內容 // 會產生: <label for="txtAccount">帳號:<label> 也可用第三個引數帶入 HTML 屬性,使用匿名類別 new { } : @Html.Label("txtAccount": , "帳號:" , new { @class = "label-title" } ) // 會產生: <label class="label-title" for="txtAccount">帳號:<label> 以上因為 class 是保留字所以前面要加上 @ 。另外有繫結 Model 時可用強型別的方法,例如這是從 Controller 帶往 View 的 ViewModel: public class VMLogin { public string Account { get; set; } public string Password { get; set; } } VMLogin vModel = new VMLogin(); return View(vModel); 而 View 中可用 LabelFor(...