2013-10-13 1 views
2

Je suis nouveau sur asp.net MVC 4. Je viens de commencer l'application de démonstration. Maintenant, mon formulaire ne s'affiche pas ici.HttpPost Ne fonctionne pas dans asp.net mvc4

Voici ma forme

@model PartyInvites.Models.GuestResponse 

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>InvitationForm</title> 
</head> 
<body> 
    @using (@Html.BeginForm("InvitationForm", "Home", FormMethod.Post)) 
    { 
     <p>Your Name: @Html.TextBoxFor(x => x.Name)</p> 
     <p>Your Email: @Html.TextBoxFor(x => x.Email)</p> 
     <p>Your PhoneNo: @Html.TextBoxFor(x => x.PhoneNo)</p> 
     <p> 
      Will You Attend: @Html.DropDownListFor(x => x.WillAttend, new[] 
         {new SelectListItem(){Text="Yes",Value=bool.TrueString},new SelectListItem() 
         {Text="No",Value=bool.FalseString}}, "--SELECT--") 
     </p> 

     <input type="button" value="Submit Invitation" /> 
    } 

</body> 
</html> 

Voici mon routage

namespace PartyInvites 
{ 
    public class RouteConfig 
    { 
     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
      ); 
     } 
    } 
} 

Et voici mon contrôleur Home

public class HomeController : Controller 
    { 
     // 
     // GET: /Home/ 

     public ViewResult Index() 
     { 
      int hour = DateTime.Now.Hour; 
      ViewBag.Greeting = hour > 12 ? "Afternon" : "Morning"; 
      return View(); 
     } 

     [HttpPost] 
     public ViewResult InvitationForm(GuestResponse guest) 
     { 
      return View("Thank You for Registration", guest); 
     } 

     [HttpGet] 
     public ViewResult InvitationForm() 
     { 
      return View(); 
     } 
    } 

J'ai essayé de faire tous les changements encore méthode post est pas invoqué quand je garde le point de rupture. Pls m'aide!

Répondre

3

Vous avez obtenu juste un bouton:

<input type="button" value="Submit Invitation" /> 

mais devrait être soumettre:

<input type="submit" value="Submit Invitation" /> 

post-scriptum remove @ symbol avant Html.BeginForm vous en avez déjà défini un dans "using"

+0

Merci beaucoup! Son bien maintenant .. – praga2050

+0

Vous accueillir, n'oubliez pas de marquer comme répondu si elle résout le problème – Max

+0

J'utilise ceci .. mais toujours son ne fonctionne pas –

Questions connexes