2016-11-11 219 views
0

我有一個for循環重複一個表頭,每個th有一個下拉內。下拉菜單有HREF,我需要通過HREF將發送數據,如visit1 =項,visit2 =項目for循環使用for循環中聲明的變量值?

我不想hardcord visit1,visit2,...等,它應該就在for循環

 @for (var i = 1; i < ViewBag.NoOfVisits + 1; i++) 
       { 
        <th> 
         <p>Visit @i</p> 
         <div class="dropdown pull-right"> 
          <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown"> 

           <span class="caret"></span> 
          </button> 
          <ul class="dropdown-menu" role="menu"> 

           @foreach (var item in ViewBag.visit) 
           { 
            <li role="presentation"><a role="menuitem" tabindex="-1" href="@Url.Action("Index", "ClinicalRegistryManager", new {siteId [email protected], [email protected] = item})">@item</a></li> 
           } 


          </ul> 
         </div> 
        </th> 
       } 

看個具有內部下拉,內部下拉我有另一種的foreach,裏面你可以看到HREF鋰將被嘗試發送訪問+ @ I =項目,它不工作,

new {siteId [email protected], [email protected] = item}) 

所以我該怎麼做才能過來呢?

回答

0

我確實喜歡這個...有人只是檢查一下,並改善?

   @for (var i = 1; i < ViewBag.NoOfVisits + 1; i++) 
       { 
        <th> 
         <p>Visit @i</p> 
         <div class="dropdown pull-right"> 
          <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown"> 

           <span class="caret"></span> 
          </button> 
          <ul class="dropdown-menu" role="menu"> 
           <li role="presentation"><a role="menuitem" tabindex="-1" href="@Url.Action("Index", "ClinicalRegistryManager", new { siteId = @ViewBag.siteId })">Show all</a></li> 

           @{ 
            var array = ViewBag.visit1; 
            switch (i) 
            { 
             case 1: 
              { 
               array = ViewBag.visit1; 
               break; 
              } 
             case 2: 
              { 
               array = ViewBag.visit2; 
               break; 
              } 
             case 3: 
              { 
               array = ViewBag.visit3; 
               break; 
              } 
             case 4: 
              { 
               array = ViewBag.visit4; 
               break; 
              } 
             case 5: 
              { 
               array = ViewBag.visit5; 
               break; 
              } 

            } 
           } 

           @foreach (var item in array) 
           { 
            var visit = "visit" + @i; 
            <li role="presentation"><a role="menuitem" tabindex="-1" href="~/ClinicalRegistryManager/[email protected]&@[email protected]">@item</a></li> 
           } 


          </ul> 
         </div> 
        </th> 
            }