在For循环中动态地将模型对象分配给TextBoxFor

时间:2017-01-23 14:17:50

标签: c# asp.net-mvc

我需要根据模型中的对象显示45个文本框。我想知道我是否可以在循环中执行此操作而不是将其编码44次(这不是最糟糕的事情......只是寻找捷径。)

@for (int y = 0; y < 44; y++)
{
    <div class="row">
        @Html.Label(y + 1 + " Years Old: ", new { @class = "col-md-3 control-label" })
        <div class="input-group input-group-sm col-md-9">
            <span class="input-group-addon">$</span>
            @Html.TextBoxFor(m => Model.LeadPricingModel.MinYearBuilt_0, new { @class = "form-control input-sm", style = "width:100px;" })
        </div>
     </div>
} 

标签效果很好。但是,我要做的是根据_0MinYearBuilt_0中制作y。不知道怎么做。

1 个答案:

答案 0 :(得分:1)

试试这个。你将不得不使MinYearBuilt成为一个数组或List(如果它已经不是)。确保它是否是一个数组,将其初始化为足够大的45个对象。

@for (int y = 0; y < 44; y++)
{
  <div class="row">
    @Html.Label(y + 1 + " Years Old: ", new { @class = "col-md-3 control-label" })
    <div class="input-group input-group-sm class=" col-md-9"">
        <span class="input-group-addon">$</span>
        @Html.TextBoxFor(m => Model.LeadPricingModel.MinYearBuilt[y], new { @class = "form-control input-sm", style = "width:100px;" })
    </div>
 </div>
}