2013-07-13 6 views
18

Làm cách nào để đặt nhãn của hộp kiểm? Tôi nhìn vào một số trang web và họ đang sử dụng các biểu thức lambda, nhưng tôi không thể hiểu chúng. Tôi mới tham gia MVC asp.net.Đặt nhãn cho hộp kiểm trong dao cạo

@{ 
    bool chkVal = false; 
} 
<li>@Html.CheckBox("chksumma",chkVal,new {@value = "5"})</li> 
<li>@Html.LabelFor(, ""); 
+0

http: // stackoverflow.com/questions/1312880/html-labelfor-specified-text-asp-net-mvc-2 – TGH

+0

Tôi sẽ giải thích cho bạn nếu bạn đăng mã cho Mô hình của bạn tại đây. – ataravati

Trả lời

11

Nếu bạn đang sử dụng một mô hình bạn có thể làm:

<li>@Html.CheckBoxFor(f=> f.chksumma)</li> 
<li>@Html.LabelFor(f=> f.chksumma)</li> 

Sau đó sử dụng các thuộc tính TGH chỉ ra

khác nếu bạn không có một mô hình tất cả các bạn có thể làm cho các nhãn là:

@Html.Label("LabelText") 

in nhãn độc lập hoặc và thủ công nếu bạn muốn o liên kết với mục

<label for="chksumma">LAbelText</label> 

Nếu bạn thực sự không muốn tay nghề nó, bạn có thể viết helper HTML của riêng bạn như đã giải thích ở đây http://develoq.net/2011/how-to-create-custom-html-helpers-for-asp-net-mvc-3-and-razor-view-engine/

7

Tôi giả định rằng bạn muốn nhãn để đánh dấu hộp kiểm khi bạn nhấp vào nó.

Trong trường hợp này, thuộc tính for của trường HTML <label>must point to the ID of the relevant input element.

Nếu bạn đang sử dụng mô hình, @Html.CheckBoxFor sẽ tạo hộp kiểm không có ID, vì vậy bạn sẽ cần thêm ID vào hộp kiểm, sau đó trỏ nhãn của bạn đến cùng một ID. Cách dễ nhất là sao chép tên của hộp kiểm vào trường ID của nó bằng cách sử dụng phương thức trợ giúp @Html.NameFor. Dưới đây là một ví dụ:

@Html.CheckBoxFor(x => x.Active, new {id=Html.NameFor(x => x.Active)}) 
<label for="@Html.NameFor(x => x.Active)">Active</label> 

tạo HTML (không có thuộc tính validation):

<input id="[0].Active" name="[0].Active" type="checkbox" value="true" /> 
<input name="[0].Active" type="hidden" value="false" /> 
<label for="[0].Active">Active</label> 
-3

Bạn không nên cần <label> thẻ tại tất cả:

<div class="block mTop20"> 
    @HtmlCheckboxFor(f => f.prop) 
    @Html.LabelFor(f=>f.prop,"This is the label text") 
</div> 
1

tôi đã làm việc trên một cái gì đó tương tự và lấy mã này bằng mã được cắt này

<div class="row"> 
<div class="col-xs-3"> 
<label> 
    @Html.CheckBoxFor(x => x.AdvanceSearch.IsExactPhrase) 
    @Html.LabelFor(x => x.AdvanceSearch.IsExactPhrase) 
</label> 
</div> ... 

Hy vọng nó sẽ giúp những người khác

6

Đây là một cách thực sự tốt:

<div class="checkbox"> 
    <label>@Html.CheckBoxFor(x => item.IsSelected)&nbsp;@Html.DisplayNameFor(x => item.IsSelected)</label> 
</div> 

Check box with label

  1. Đó là những gì được khuyến khích bởi bootstrap 3.
  2. Nó hoạt động trong một bảng.
  3. Bạn có thể nhấp vào hộp kiểm HOẶC nhãn để chọn hộp. (Đây là một tính năng hữu ích quan trọng.)
  4. Con trỏ đúng là "tay" thay vì con trỏ mũi tên.