Ich erstelle ein Registrierungsformular, gibt es ein Feld namens Geschlecht in Dropdown-Liste. wenn ich Männchen oder Weibchen aus dem Geschlecht wähle immer null der Wert der Dropdown-Liste wird und eine Validierungsmeldung zurückgeben „männlich oder weiblich ist für das Feld nicht gültig“Warum ist der Dropdown-Wert immer Null in der Datenbank MVZ Rasierapparat
Controller
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include = "ID, FirstName,DOB,Gender")] AgentMaster agentMaster)
{
if (string.IsNullOrEmpty(Convert.ToString(agentMaster.Gender)))
{
ModelState.AddModelError("Gender", "Gender is required");
}
if (ModelState.IsValid)
{
db.AgentMasters.Add(agentMaster);
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(agentMaster);
}
Ansicht
@model A.Models.AgentMaster
<div class="form-group">
@Html.LabelFor(model => model.Gender, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.Gender, new SelectList(new[] { "Male", "Female" }),"--select--")
@Html.ValidationMessageFor(model => model.Gender, "", new { @class = "text-danger" })
</div>
</div>
in Modell Geschlecht gegeben als
public Nullable<short> Gender { get; set; }
, wenn ich den Code uns debuggen In Breakpoints ist das Vale für Gender in [httppost] null, aber mit 1 oder 0 funktioniert es. Daher verwende ich die Validierung im Controller, um in eine Zeichenfolge zu konvertieren, aber es funktioniert nicht. Ich komme nicht dahin, wo ich mich ändern muss. Kann mir bitte jemand helfen Lösung zu finden ??
Ich habe das als richtig, aber der Wert wird nicht in den Details angezeigt, löschen und Indexseite ?? – user256
Ich habe keine Ahnung, was Ihr Code in diesen Methoden ist (und ich weiß nicht einmal, welche der oben genannten Optionen Sie gewählt haben) Ich nehme an, Sie wählten die richtige, die eine Zeichenfolge ist so nicht sicher, was Ihr Problem ist. –
Ich habe unter Verwendung von Text und Wert geschrieben, der Wert 0 oder 1 wird in die Datenbank eingegeben, wird aber auf der Indexseite angezeigt (Indexaktionsmethode) – user256