Ich schreibe eine ASP.NET MVC-Anwendung. Ich bin ein Anfänger, also bin ich mir sicher, dass das wirklich einfach ist. Ich referenzierte ASP.NET MVC - How to get checkbox values on post, aber der Code ist nicht mehr verfügbar, so dass es fast nutzlos.Checkbox-Werte beim Postback abrufen ASP.NET MVC
Hier ist meine Ansicht:
@using (@Html.BeginForm("Promote", "FPL", FormMethod.Post))
{
<div data-role="fieldcontain">
<fieldset id="PromotionInfo" name="PromotionInfo">
<legend><b>@Model.itemType Promotion Details</b></legend>
<label for="TargetDate">Target Date: </label>
<input type="date" id="TargetDate" data-role="datebox" data-options='{"mode": "flipbox"}' />
<label for="EmailCC">Email cc List: </label>
<input type="email" id="EmailCC" />
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<legend>Choose Destination Server(s): </legend>
@foreach (DataRow server in Model.destinationServerList.Rows)
{
<label for="@server.ItemArray[0]">@server.ItemArray[1]</label>
<input type="checkbox" name="destinationServerSID" id="@server.ItemArray[0].ToString()" />
}
</fieldset>
</div>
</fieldset>
</div>
<input type="submit" value="Submit" />
}
Und hier ist mein Controller:
public ActionResult Promote(string id)
{
//Model(item) construction occurs here
return View(item);
}
[HttpPost]
public ActionResult Promote(FormCollection collection)
{
try
{
string[] test = collection.GetValues("destinationServerSID");
}
catch (Exception ex)
{
return null;
}
}
Der Test [] Variable enthält einen 2 Artikel Array, von denen beide den Wert "auf" jedoch , meine Artikelliste ist länger als 2 Artikel. Es enthält nur einen "Ein" für jeden ausgewählten Wert, aber keine "Aus" -Werte. Ich brauche den tatsächlichen Wert des Kontrollkästchens (das ID-Feld).
wow, ich kann nicht glauben, dass ich das verpasst habe ... Vielen Dank, das ist alles was ich brauche. –