2013-03-15 72 views
1

我看這部分:如何在JavaScript中模擬點擊@ Html.ActionLink?

@foreach (var item in Model.listeStations){ 
    <tbody> 
     <tr id="ligneRecherche"> 
      <td id="tdId"> 
       @Html.DisplayFor(modelItem => item.nom) 
      </td> 
      <td id="tdData"> 
       @Html.DisplayFor(modelItem =>item.adr) 
      </td> 
      <td id="tdLangue"> 
       @Html.DisplayFor(modelItem => item.cp) 
      </td> 
      <td id="tdType"> 
       @Html.DisplayFor(modelItem => item.ville) 
      </td> 
      <td id="selection"> 
       @Html.ActionLink("Choisir", "DetailsStation", new { id=item.id }) 
      </td> 
     </tr> 
    </tbody> 
} 
</table> 

如果一個用戶點擊無處不在它執行ActionLink的表中的一行。有可能在JS或其他方面做到這一點?提前致謝 !

回答

1

class添加到您的tr標記以使用jquery進行選擇。

<tr id="ligneRecherche" class="row"> 

,並選擇與使用jquery

$(".row").click(function(){ 
    var url = $('td a', this).attr('href'); 
    window.location = url; 
}); 

,也是你的觀點應該是這樣的點擊行:(刪除tbody標記出來foreach

<tbody> 
@foreach (var item in Model.listeStations){ 
    <tr id="ligneRecherche" class="row"> 
     <td id="tdId"> 
      @Html.DisplayFor(modelItem => item.nom) 
     </td> 
     <td id="tdData"> 
      @Html.DisplayFor(modelItem =>item.adr) 
     </td> 
     <td id="tdLangue"> 
      @Html.DisplayFor(modelItem => item.cp) 
     </td> 
     <td id="tdType"> 
      @Html.DisplayFor(modelItem => item.ville) 
     </td> 
     <td id="selection"> 
      @Html.ActionLink("Choisir", "DetailsStation", new { id=item.id }) 
     </td> 
    </tr> 
} 
</tbody> 

多了一個信息: idtrtd標籤是沒有意義的。因爲它們是重複的元素。

+0

感謝您的回答,但它不起作用。我有這個例外:找不到資源。請求的網址:/首頁/ undefined – 2013-03-15 15:29:58

+0

您的動作網址不正確,或者您沒有'DetailsS​​tation/Choisir' – 2013-03-15 15:32:20

+0

@AliRızaAdıyahşi您的回答在這裏不正確:'$(this).closest(「a」)。attr(「 href「)' – webdeveloper 2013-03-15 15:34:30