3

私は asp.net MVC 4 が初めてです。デモアプリを始めました。今、私のフォームはここに投稿されていません。

これが私のフォームです

@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>

これが私のルーティングです

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 }
            );
        }
    }
}

そして、これがマイホームコントローラーです

 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();
        }
    }

すべての変更を加えてみましたが、ブレークポイントを保持しているときにポストメソッドが呼び出されません。助けてください!

4

1 に答える 1

4

あなたはただのボタンを手に入れました:

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

しかし、提出する必要があります:

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

PSは、Html.BeginFormの前に@記号を削除します。「使用」ですでに定義されています

于 2013-10-13T04:59:20.740 に答える