Wie man textbox-Wert von view zu controller in mvc4 auf "Absenden" button klicken
Wie man die textbox mit dem Wert aus view und controller in mvc4?Wenn ich mit httppost-Methode im controller die Seite kann nicht gefunden Fehler kam.
Ansicht
@model MVC_2.Models.FormModel
@{
ViewBag.Title = "DisplayForm";
}
@using (Html.BeginForm("DisplayForm", "FormController", FormMethod.Post))
{
<form>
<div>
@Html.LabelFor(model => model.Empname)
@Html.TextBoxFor(model => model.Empname)
@* @Html.Hidden("Emplname", Model.Empname)*@
@Html.LabelFor(model => model.EmpId)
@Html.TextBoxFor(model => model.EmpId)
@* @Html.Hidden("Emplid", Model.EmpId)*@
@Html.LabelFor(model => model.EmpDepartment)
@Html.TextBoxFor(model => model.EmpDepartment)
@* @Html.Hidden("Empldepart", Model.EmpDepartment)*@
<input type="button" id="submitId" value="submit" />
</div>
</form>
}
Modell
public class FormModel
{
public string _EmpName;
public string _EmpId;
public string _EmpDepartment;
public string Empname
{
get {return _EmpName; }
set { _EmpName = value; }
}
public string EmpId
{
get { return _EmpId;}
set {_EmpId =value;}
}
public string EmpDepartment
{
get { return _EmpDepartment; }
set { _EmpDepartment = value; }
}
}
controller
public ActionResult DisplayForm()
{
FormModel frmmdl = new FormModel();
frmmdl.Empname=**How to get the textbox value here from view on submitbutton click???**
}
- Zu sagen, es einfach, das Modell wird als argument an die Methode:
public ActionResult DisplayForm(FormModel frmmdl)
Ein feines tutorial für mvc: mvcmusicstore.codeplex.com - Verwenden FormModel als parameter im controller. Wie DisplayForm(FormModel Modell) stackoverflow.com/questions/22931220/...
- Mögliche Duplikate von ASP.NET MVC bekommen textbox-input-Wert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zuerst ändern Sie Ihre button-Typ zu "submit". so Ihr Formular-Werte werden vorgelegt, auf die Action-Methode.
aus:
zu:
Zweiten müssen Sie Ihr Modell als parameter im Action-Methode.
Dritten, Wenn der Controller-name ist "FormController". Sie müssen ändern Sie die parameter Ihres Html-Codes.Beginform Ihrer Ansicht nach dieser:
P. S.
Wenn Sie Ihre Ansicht den gleichen Namen wie die Action-Methode, die "DisplayForm" Sie müssen nicht fügen Sie einen beliebigen parameter in der Html.BeginForm. nur es einfach zu machen. etwa so:
Haben eine
ActionResult
für die Formular-post:Blick in Modell Verbindlich. Standard-Modell verbindlich werden die Daten eingebettet in Ihre gesendete Formular-Werte und erstellen Sie ein Objekt von Ihnen.
Let ' s implementieren einfache ASP.NET MVC-Abo-Formular mit E-Mail-Textfeld ein.
Modell
Die Daten aus dem Formular zugeordnet ist, um dieses Modell
Ansicht
Ansicht name sollte mit controller-Methode name.
Controller
Controller ist verantwortlich für die request-Verarbeitung und Rücksendung richtige Antwort anzeigen.
Hier ist mein Projekt-Struktur. Bitte beachten Sie, "Home" - Ansichten-Ordner passt HomeController Namen.
Modell Sie werden bekannt gegeben, sobald ein Objekt auf die Aktion, und Sie können es in Aktion auf post wie folgt:
es Ihnen gesendeten Daten stellen immer HttpPost - Attribut auf die Aktion.
Ihre Ansicht auch Fehler, machen Sie es wie diese:
Gibt es zwei Möglichkeiten, wie Sie dies tun können.
Den ersten verwendet
TryUpdateModel
:Den anderen, einfacheren version ist einfach, um das Modell als parameter auf der
[HttpPost]
version des Geschehens:Ändern Sie Ihren controller wie unten.
Müssen Sie die beiden Methoden Get und Post:
Modell Werte von hidden-Feld? Ich empfehle das stark typisierte Ansatz unten gezeigt:
Modell.Empname wird der Wert