Mein Controller-Methode an die Steuerung übergeben wird:Formularwerte nicht
Bisher[HttpGet]
public ActionResult NewInventory()
{
return View();
}
[HttpPost]
public async Task<ActionResult> NewInventory(string bookID, string ttlin, string lowin, string Outnow)
{
// test values passed, etc.....
}
nur die „lowin“ Wert korrekt übergeben wird. Alle anderen Werte sind auf "0" gesetzt (ich glaube aufgrund der Tatsache, dass die Datentypen in SQL DB auf "nicht null" gesetzt sind). Warum ist das?
Ich nehme an, weil nur ein Wert korrekt übergeben wird und keine Ausnahmen ausgelöst werden, fehlt der Ansicht Seitencode die anderen die Felder zu übergeben.
Code anzeigen:
@model LibraryMS.Inventory
@{
ViewBag.Title = "newinventory";
}
<h2>newinventory</h2>
@using (Html.BeginForm("NewInventory","BookInfo", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Inventory</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.BookID, "BookID", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BookID, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.BookID, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TotalIn, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TotalIn, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.TotalIn, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.LowIn, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.LowIn, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.LowIn, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Out, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Out, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Out, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
Betrachtet werden die Werte weitergegeben werden.
poste deinen Formularcode und wenn du deine Get-Methode für dieses NewInventory-Formular posten könntest. – mvermef
Hallo Luv2Learn! Würde es Ihnen etwas ausmachen, wenn Sie Ihre Ansicht posten? Ich bin auf dieses Problem einige Male wegen des Namensschilds in meinem HTML, das nicht richtig ist, wie ASP.Net die Formulardaten in Ihr Modell umwandelt, gelaufen. – ThomW
Änderungen an der Frage wurden vorgenommen, um Code anzeigen und Methode für Ansicht anzeigen anzuzeigen. – Luv2Learn