2013-05-27 51 views
3

以下不會正常工作。CheckboxFor; LabelFor有'for'爲空

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<List<TINK.Models.FlatLBProductType>>" %> 

<% for (int i = 0; i < Model.Count(); i++) { %> 
    <div class="editor-label"> 
     <%= Html.CheckBoxFor(model => model[i].PT_Bestelbaar) %> 
     <%= Html.LabelFor(model => model[i].PT_Bestelbaar)%> 
    </div> 
<% } %> 

這將生成以下HTML

<div class="editor-label"> 
<input type="checkbox" value="true" name="[1].PT_Bestelbaar" data-val-required="The PT_Bestelbaar field is required." data-val="true" checked="checked"> 
<input type="hidden" value="false" name="[1].PT_Bestelbaar"> 
<label for="">PT_Bestelbaar</label> 
</div> 

爲什麼是for在標籤是空的?或者我該如何做這項工作?

+1

因爲標籤不能指向具有相同名稱的兩個輸入元素 – VJAI

回答

0

我覺得你的View有一個IEnumerable模型定義,像這樣:

@model IEnumerable<MyModel> 

,所以我希望這可以幫助你:

<% foreach (var item in Model) { %> 
    <div class="editor-label"> 
     <%= Html.CheckBox(item.PT_Bestelbaar) %> 
     <%= Html.Label(item.PT_Bestelbaar)%> 
    </div> 
<% } %> 

,如果你想十個分量for循環請張貼模型定義。問候。

+1

除了模型綁定的目的,他會希望保留'for'循環。 –

+0

確實需要它在模型綁定後。 – Stefanvds