2016-08-17 22 views
0

我有一個布爾屬性「重試」的標籤,並創建了一個強類型的觀點,但我的問題是,每當我點擊標籤如何停止複選框撥動相應的強類型的意見

@Html.LabelFor(model => model.IsReTry, new { @class = "control-label col-md-5"}) 
@Html.CheckBox("ISretry",Model.IsReTry) 

複選框是切換 我不希望這種事情發生 我知道我們可以只使用@Html.CheckBox但反正是有,我們可以使用@Html.CheckBoxFor,並沒有得到選中或取消選中,當我們在相應的標籤上點擊

+1

這是沒有意義的!你有自定義的CSS樣式,將標籤放在複選框的頂部嗎? – Shyju

+1

請注意,原因標籤以這種方式工作的原因是可訪問性。點擊微小的複選框對運動能力較差的人很困難,而點擊標籤或複選框更容易。 –

回答

0

LabelFor幫手產生label標籤這將與name屬性的特定輸入相關聯(它是默認的瀏覽器行爲,沒有簡單的方法來改變它)。

只需使用DisplayNameFor這樣的:

@Html.DisplayNameFor(model => model.IsReTry) 
@Html.CheckBoxFor(x=>x.IsReTry) 

這裏是一個working example

如果您需要自定義樣式只是divspan把它包:

<div class="control-label col-md-5">@Html.DisplayNameFor(model => model.IsReTry)</div> 
@Html.CheckBoxFor(x=>x.IsReTry) 
+0

非常感謝許多人但是我想我們已經找到了一個更簡單的解決方案(使用Jquery),我們只需創建一個類名'donoToggle'並在標籤上使用'e.preventDefault'即可。 – startprogramming