Ich versuche, mit actionlink 3 Werte von einer Ansicht an eine andere Aktion zu senden. Ich habe einen Tisch. Jede Zeile hat 3 Spalten mit ID, Name und Geld, was ein Textfeld ist. Das Problem ist, dass die Aktionsverknüpfung nur den Wert der Textbox der ersten Zeile übergibt. Angenommen, ich drücke den Aktionslink der zweiten Zeile, es passiert, den Namen und die ID der zweiten Zeile, aber das Geld, das in der Textbox ist. ist vorbei an der ersten Reihe.Der Wert des Textfelds in einer Tabellenzeile kann nicht korrekt von der Ansicht an den Controller in MVC5 übergeben werden
meiner Ansicht Code:
@model List<UdemyMVC.Models.Movies>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Index</h2>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr class="danger">
<th>
Id
</th>
<th>
Name
</th>
<th>
Bid Money
</th>
</tr>
</thead>
<tbody>
@foreach (var movie in Model)
{
<tr>
<td>
@movie.Id
</td>
<td>
@movie.MovieName
</td>
<td>
<input type="text" id="bidMoney" name="bidMoney"/>
</td>
<td>
@Html.ActionLink("Details", "Details", "Test", new { Id =movie.Id, MovieName = movie.MovieName }, new { onclick = "this.href += '&biddingMoney=' + document.getElementById('bidMoney').value;", @class = "btn btn-primary" })
</td>
</tr>
}
</tbody>
</table>
Sie fügen die eindeutige ID nicht zu den tds hinzu, also haben alle tds den gleichen Namen und die gleiche Identifikation onclcik, sogar Sie müssen die Identifikation zusammen mit dem Namen weitergeben, den Charles Ihnen bereits die Lösung gegeben hat –