MVC5 verbindlich Aktion-Taste
Habe ich Schwierigkeiten mit verbindlich meine Taste, um eine Aktion. Ich habe ein Formular erstellt und wenn Benutzer klicken Sie auf "senden" Schaltfläche, die es braucht, um die trigger eine Aktion.
Unten können Sie sehen, meine cshtml-code:
@model Project.Models.MailMessage
<form name="contactForm" method="post" action="" class="form-horizontal" role="form">
<div class="col-lg-8">
<div id="Contact" class="jumbotron contact-form">
<div class="panel-heading">
<h1 class="panel-title">Kontakt</h1>
</div>
<div class="input-group">
<span class="input-group-addon">Imie</span>
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" ,placeholder ="Twoje imię"})
<!--<input type="text" class="form-control" placeholder="Imie" id="inputName" required="required">-->
</div>
<div class="input-group">
<span class="input-group-addon">Nazwisko</span>
@Html.TextBoxFor(model => model.Surname, new { @class = "form-control", placeholder = "Twoje nazwisko" })
<!--<input type="text" class="form-control" placeholder="Nazwisko" id="inputSurname" required="required">-->
</div>
<div class="input-group">
<span class="input-group-addon">Email</span>
@Html.TextBoxFor(model => model.EmailAdress, new { @class = "form-control", placeholder = "Adres email" })
<!--<input type="email" class="form-control" placeholder="Email" id="inputEmail" required="required">-->
</div>
<div class="input-group">
<span class="input-group-addon">Treść<br /> wiadomości</span>
@Html.TextAreaFor(model => model.Name, new { @class = "form-control", placeholder = "Treść wiadomości", id = "inputMessage", name = "inputMessage", rows="4" })
<!--<textarea class="form-control" rows="4" id="inputMessage" name="inputMessage" placeholder="Treść wiadomości..." required="required"></textarea>-->
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-1">
<button type="submit" class="btn btn-default">
Send Message
</button>
</div>
</div>
</div>
</div>
</form>
Hier ist mein Controller:
public class HomeController : Controller
{
//
//GET: /Home/
public ActionResult Index()
{
return View();
}
//GETL /Search/
public ActionResult Search()
{
return View();
}
public ActionResult Contact()
{
return View();
}
public ActionResult SendMail(MailMessage m)
{
return RedirectToAction("Contact");
}
}
Habe ich es geschafft, zu tun alle diese Dinge. Alle code funktioniert. Aber hier sind Sie glaube ich easies Teil tof-einen job. Binding-Taste zum aufrufen von SendMail(MailMessage m) vom Controller.
Kann mir jemand empfehlen, wie dies zu tun?
InformationsquelleAutor szpic | 2014-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
Html.BeginForm
Helfer und<input type="submit" value="..." />
innerhalb. Ein Beispiel hier. Bevorzugen Infrastruktur-Helfer über eigenen HTML-code, wo möglich. Sie wahrscheinlich nicht verwenden, Antiforgery der mechanik zu verhindern CSRF-Angriffe. Es wird empfohlen in post-Form, wie beschrieben in das Beispiel.InformationsquelleAutor Marcin Wachulski
Müssen Sie deklarieren die
action
von der form.InformationsquelleAutor mipe34
Versuchen Sie dies:
SendMail.cshtml
Hier controller
Wenn Sie klicken Sie auf die Schaltfläche Anruf
[HttpPost]
Methode in Sie-controller. Es ist notwendig zu erwähnen[HttpPost]
action=""
dann, wie die form sein könnte, post -, controller-und action-Methode?InformationsquelleAutor Ajay P
nur ändern Sie Ihre Methode
InformationsquelleAutor Nilesh