2017-01-04 2 views
0

Mein Ansichtsmodell enthält eine Liste von Objekten, die ich durchlaufe und denen jeweils eine bestimmte Klasse zugeordnet ist. Mein Ziel ist das Klicken auf dieses Element, um es zur Ansicht zu öffnen, aber ich weiß nicht, wie ich die ID dieser Zeile in meiner jQuery-Klickfunktion erhalten soll.modellgebundene Objekteigenschaft in jquery abrufen

  foreach (var item in Model.PatientViewModel) 
      { 
        <div class="patientBox patientBox-unselected"> 
         <h7> 
          <div class="pvb-mrn">MRN: @Html.DisplayFor(modelItem => item.MRN)</div> 
          <div class="pvb-dob">DOB: @Html.DisplayFor(modelItem => item.DOB)</div> 
          <br /> 
          <div class="pvb-link"> 
           @Html.ActionLink("Update Patient >", "Edit", new { id = item.PatientID }) 
          </div> 
         </h7> 
        </div> 
      } 

und dann mit einem Testalarm mein Skript nur, um sicherzustellen, i die Funktion schlagen war, der gut arbeitet, aber wie kann ich die ID des geklickten Artikel hier?

$('.patientBox').click(function() { 
     window.location.href("/View/" + @item.ID); 
    }) 

Ansicht Modell:

public class PatientScreenViewModel 
{ 
    public List<PatientDTO> PatientViewModel { get; set; } 

    public PatientSearchDTO SearchViewModel { get; set; } 
} 

Antwort

2

die item.ID in HTML-Attribut Put und bekommen es mit jQuery wie so:

foreach (var item in Model.PatientViewModel){ 
    <div class="patientBox patientBox-unselected" data-item-id="<%= item.ID %>"> 
        ... 
        ... 
    </div> 
} 

jQuery:

$('.patientBox').click(function() { 
    window.location.href("/View/" + this.getAttribute('data-item-id'); 
}) 
+0

Genau das, was ich gesucht habe, kann nicht glauben, dass ich das vergessen habe. Vielen Dank! –

Verwandte Themen