2017-05-01 20 views
1

MVC 5ビューの次のコードでは、ラベルとテキストボックスコントロールを動的に構築していますが、テーブルでフォーマットする必要があります。MVC 5のダイナミックコントロールの書式設定方法

@using InFlowConvertWeb.WebUI.Models 
    @model InFlowConvertWeb.WebUI.Models.SearchControlListViewModel 
    @{ 
     ViewBag.Title = "List"; 
    } 

    @using (Html.BeginForm()) 
    { 
     int searchControlIndex = 0; 

     foreach (SearchControl searchControl in Model.SearchControls) 
     { 
      switch (searchControl.ControlType) 
      { 
       case SearchControl.ControlTypes.TextBox: 
        { 
         <div class="form-group" style="margin-left: 15px"> 
          @Html.Label(searchControl.FieldName, 
           new { @class = "col-md-12 control-label" }) 

          @Html.TextBoxFor(
           x => x.SearchControls[searchControlIndex].SearchValue) 

          @Html.HiddenFor(x => x.SearchControls[searchControlIndex].DataTable) 
          @Html.HiddenFor(x => x.SearchControls[searchControlIndex].FieldName) 
         </div> 

         break; 
        } 
      } 

      searchControlIndex += 1; 
     } 

     <div class="col-md-2"> 
      <h2> 
       <input type="submit" value="Submit Selections" /> 
      </h2> 
     </div> 

いただければ幸いです任意の提案は、

ボブ

+0

は、あなただけのHTMLに ''

を作る方法を求めているの? – David

答えて

0

この例試してみてください:

@using InFlowConvertWeb.WebUI.Models 
    @model InFlowConvertWeb.WebUI.Models.SearchControlListViewModel 
    @{ 
     ViewBag.Title = "List"; 
    } 

    @using (Html.BeginForm()) 
    { 
<table id="dataTable" class="table table-bordered table-hover"> 
    <tbody> 
     @{int searchControlIndex = 0;} 

     @foreach (SearchControl searchControl in Model.SearchControls) 
     { 
      switch (searchControl.ControlType) 
      { 
       case SearchControl.ControlTypes.TextBox: 
        { 
        <tr> 
         <td> 
          @Html.Label(searchControl.FieldName,         new { @class = "col-md-12 control-label" }) 
         </td> 
         <td> 
          @Html.TextBoxFor(x =>x.SearchControls[searchControlIndex].SearchValue) 

          @Html.HiddenFor(x =>x.SearchControls[searchControlIndex].DataTable) 
          @Html.HiddenFor(x =>x.SearchControls[searchControlIndex].FieldName) 
         </td> 
       </tr> 
         break; 
        } 
      } 

      searchControlIndex += 1; 
     } 
    </tbody> 
</table> 

<div class="col-md-2"> 
    <h2> <input type="submit" value="Submit Selections" /> </h2> 
</div> 
} 
関連する問題