2014-05-15 16 views
0

我使用.NET MVC和剃刀,我顯示在我看來項目(itemRoom,itemDescription)是這樣的:ASP.NET MVC剃刀,在jQuery函數獲取ID

@foreach (var item in Model) { 
          <li class="errorItem"> 
           <a href="#" class="list-group-item"> 
            <i class="fa fa-warning fa-fw"></i> @Html.DisplayFor(modelItem => item.room) : @Html.DisplayFor(modelItem => item.title) 
            <span class="pull-right text-muted small"><em>5 min ago</em> 
            </span> 
            <div> 
             <ul id="errorExtra" class="nav nav-second-level" style="display: none;"> 
             <li> 
              <p> @Html.DisplayFor(modelItem => item.description)</p> 

              <input type="button" id="btnFixed" value="Fixed" class="btn btn-success"/>               
             </li> 
             </ul> 
            </div> 

           </a> 

          </li> 
          } 

在底部我正在使用JQuery讓每個項目在單擊時打開,以便可以看到細節和「固定」按鈕。當用戶點擊固定按鈕時,他將被引導至確認頁面以刪除該項目。

<script src="../Assets/js/bootstrap.min.js"></script> 

    <script type="text/javascript"> 
     $(document).ready(function() { 

     var isOpen = false; 

     $(".errorItem").click(function (e) { 
      isOpen = !isOpen; 
      if (isOpen) { 
       $(this).find("#errorExtra").slideToggle("slow"); 

      } else { 
       $(".btn-success").click(function (e) { 
        window.location.replace("Reports/Delete/2") 

       }) 
      }; 
     }); 


     }); 


</script> 

一切工作相當好的,但是鏈接「window.location.replace(‘報告/刪除/ 2’)」實際上已經是「報告/刪除/ ITEMID」,但我怎麼能管理員獲得用戶點擊的項目的ID,並打開幻燈片?所以這個項目會在確認頁面上被刪除?

回答

0

做視圖中的變化不大,假設您的獨特ID與屬性名Id

@foreach (var item in Model) { 
          <li class="errorItem"> 
           <a href="#" class="list-group-item"> 
            <i class="fa fa-warning fa-fw"></i> @Html.DisplayFor(modelItem => item.room) : @Html.DisplayFor(modelItem => item.title) 
            <span class="pull-right text-muted small"><em>5 min ago</em> 
            </span> 
            <div> 
             <ul id="errorExtra" class="nav nav-second-level" style="display: none;"> 
             <li> 
              <p> @Html.DisplayFor(modelItem => item.description)</p> 

    --> change is here    <input type="button" id="btnFixed" data-url="@Url.Action("Delete","Reports",new{id=item.Id})" value="Fixed" class="btn btn-success"/>               
             </li> 
             </ul> 
            </div> 

           </a> 

          </li> 
          } 

jQuery中:

$(".btn-success").click(function (e) { 
        var url = $(this).data("url"); 
        window.location.replace(url); 

       }); 
+0

尼斯不知道,謝謝! – user3629755

+0

歡迎,並很高興它幫助你,我更新了''data-url''屬性,更體面 –

0

只是一個小提示:你有多個按鈕與id="btnFixed"相同,因爲它位於@foreach循環的內部。也許增加某種指數是合理的,或者將其更改爲class="btnFixed"。 與<ul id="errorExtra" ...>相同。