übergeben Im arbeiten an einer Anwendung, die E-Mails herunterladen können. Meiner Ansicht nach, wenn Kontrollkästchen/Kontrollkästchen aktiviert sind, möchte ich eine ID an den Controller übergeben, um diese Nachrichten herunterzuladen. Ich werde versuchen, mit dem Code zu erklären:Asp.net mvc wie man mehrere Checkbox-Werte an den Controller
@using (Html.BeginForm("DownloadData", "Messages", FormMethod.Post))
{
<table class="table table-bordered table-hover">
@for (int i = 0; i < Model.Count; i++)
{
<tr>
<td><input type="checkbox"
name="selectedIds[@i].messageID"/></td>
<td>@Model[i].messageFrom</td>
<td>@Model[i].messageSubject</td>
<td>@Model[i].messageDate</td>
</tr>
}
</table>
<div class="col-md-offset-2 col-md-10">
<input type="submit" class="btn btn-default" value="Download" />
</div>
}
Der @i in name = „selectedIds [@i] .messageID“ gut sein tut, weil seine Erhöhung und wenn ich überprüfen: 1. die 2. und die 4. Meldung , es werden nur die ersten zwei Elemente zu meiner Liste hinzugefügt.
Der Controller:
[HttpPost]
public ActionResult DownloadData(List<MessagesModels> selectedIds)
{
return View(...);
}
Das Modell:
public class MessagesModels
{
public int messageID { get; set; }
public string messageSubject { get; set; }
...
}
Ich denke, es ist nicht schwer, aber kann nicht die sollution finden. Danke für die, die helfen können!
Was ist der Punkt der Checkbox? Es ist an nichts in Ihrem Modell gebunden und hat nicht einmal ein "Wert" -Attribut. Wenn Sie angeben möchten, welche Ihrer Objekte ausgewählt sind, fügen Sie Ihrem Modell eine 'bool IsSelected'-Eigenschaft hinzu und verwenden Sie' @ Html.CheckBoxFor (m =