Um das Problem zu erstellen Ich habe ich zwei Aktionen einfache Steuerung eingerichtet habe, zwei Ansichten und eine Ansicht Modell:ASPNET MVC 5 HTML-Helfer Aktionsmethode Ergebnisse anzeigen Eingabe-ID fehlt (manchmal ..) Möglicher Fehler?
Multiformen Aktion (in Form Controller-Klasse)
public class FormController : Controller
{
[HttpGet]
public ActionResult MultiForms()
{
return View("MultiForms");
}
// ...
MultiForms.cshtml - Razor Ansicht
@Html.Action("MyFormGet", "Form")
Beachten Sie in der Aktionsmethode ich die Controller-Methode aufrufen, die die Form teilweise vie zurück w.
MyFormGet Aktion
[HttpGet]
public PartialViewResult MyFormGet()
{
var viewModel = new MyFormViewModel();
ViewData.TemplateInfo.HtmlFieldPrefix = Guid.NewGuid().ToString().Replace("-", "_");
return PartialView("MyForm", viewModel);
}
Ansicht Modell
public class MyFormViewModel
{
public string TextInput1 { get; set; }
}
MyForm.cshtml - Razor Ansicht
@model Mvc5App.Controllers.MyFormViewModel
@using (Html.BeginForm("MyFormPost", "Form", FormMethod.Post))
{
<br />
@Html.TextBoxFor(m => m.TextInput1)
}
Wenn ich meinen Browser auf /Form/MultiForms
Punkt bekomme ich die Ausgabe erwarte ich:
<input type="text" value="" name="e166fa0d_46fe_40d4_a970_73c52a35f224.TextInput1" id="e166fa0d_46fe_40d4_a970_73c52a35f224_TextInput1">
Dann aktualisieren ich die Seite und die Ausgabe wird dies:
<input type="text" value="" name="48edc339_69ad_4b9b_9583_198038beab45.TextInput1">
Wo hat das Attribut id gehen? Ist das ein Fehler in ASPNET MVC5 oder habe ich etwas falsch mit diesem Setup gemacht?
Was meinst du mit "Main Controller Razor View"? Auf welche Aktionsmethode zeigt '/ Form/MultiForms', da es keinen' FormController' gibt? Warum erstellen Sie eine Ansichtsmodellinstanz in Ihrer 'MyFormGet()' Methode, verwenden diese Instanz jedoch nirgendwo? –
Der MultiForms-Controller gibt MultiForms.cshtml zurück. Die einzige Zeile in dieser Ansicht ist eine Action-Hilfsmethode, die den MyFormGet-Controller aufruft und die MyForm.cshtml-Ansicht zurückgibt. Der MyFormGet-Controller gibt eine Instanz von MyFormViewModel mit einer Eigenschaft zurück, die das Formular mit einer einzelnen Eingabe rendert.Ich denke, du verpasst das Hauptproblem: ** Das Feld sollte mit einem ID-Attribut rendern und nicht (manchmal) ** – ooXei1sh
Wenn dein Controller den Namen 'MultiForms' hat, ist der Endpunkt'/Form/MultiForms' ungültig. .. – demo