2017-10-25 8 views
1

名前はありがたいです。この投稿をクリックして表示したいのですが、次のようなエラーが発生しました:ウェブページが見つかりません 私のコードは私の情報を投稿した後にウェブページが見つかりません

です
public class HomeController : Controller 
    { 
     public ViewResult Index() 
     { 
      int hour = DateTime.Now.Hour; 
      ViewBag.greeting = hour < 12 ? "Good Morning" : "Good Afternoon"; 
      return View ("MyView"); 
     } 
     [HttpGet] 
     public ViewResult RsvpForm() 
     { 
      return View("RsvpForm"); 

     } 
     [HttpPost] 

     public ViewResult RsvpForm(GuestRespons GuestRespons) 
     { 
      Repository.AddResponse(GuestRespons); 
      return View("Thanks", GuestRespons); 

     } 

    } 

、これが私の見解です:

@{Layout = null; 
} 
<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title> 
     Thanks 
    </title> 
</head> 
<body> 
    <p> 
     <h1> 
      thank you,@Model.Name! 
     </h1> 

     @if (Model.WillAttend== true) 
     { 
      @:it's great that you are comming.we will see you soon. 
     } 
     else 
    { 
     @:Sorry to hear that, but Thanks for letting us to know.  
    } 
    </p> 
    <p > 
     click <a asp-action="ListResponses">here</a> to see who is coming. 
    </p> 
</body> 
</html> 

そして、この1つは感謝のビューを表示するべき私のボタンです:

@model FuturGoals_partyinvites_.Models.GuestRespons 


@{ 
    Layout = null; 
} 
<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>RsvpForm</title> 
</head> 
<body> 
    <form asp-action="RcvpForm" method="post"> 

     <p> 
      <label asp-for="Name">Your Name:</label> 
      <input asp-for="Name" /> 
     </p> 
     <p> 
      <label asp-for="Email">Your Email:</label> 
      <input asp-for="Email" /> 
     </p> 
     <p> 
      <label asp-for="phone">Your Phone:</label> 
      <input asp-for="phone" /> 
     </p> 
     <p> 
      <label>Will you come?</label> 
      <select asp="WillAttend"> 
       <option value="">Choose an option</option> 
       <option value="true">Yes</option> 
       <option value="false">No</option> 
      </select> 
     </p> 
     <button type="submit">Submit RSVP</button> 
    </form> 
</body> 
</html> 
事前に

<button type="submit">Submit RSVP</button> 

ありがとう:私はMVCでの例外を取得する方法がわからない

はよく、私はこの問題は、この行であるべきだと思います。

+0

してください:のような

<p> <label asp-for="Name">Your Name:</label> <input asp-for="Name" /> </p> <p> <label asp-for="Email">Your Email:</label> <input asp-for="Email" /> </p> <p> <label asp-for="phone">Your Phone:</label> <input asp-for="phone" /> </p> <p> <label>Will you come?</label> <select asp="WillAttend"> <option value="">Choose an option</option> <option value="true">Yes</option> <option value="false">No</option> </select> </p> <button type="Button" id="submitme" data-url="@Url.Action("RsvpForm","Home")">Submit RSVP</button> 

Ajaxフォームを可能であれば、名前を貼り付けてください。 – Luiso

答えて

0

フォームアクション属性の値は、アプリ内の有効なURLである必要があります。フォームタグヘルパーを使用している場合は、送信する有効なHttpPostアクションメソッド名をasp-action属性値として渡していることを確認する必要があります。

あなたのhttpポストアクションメソッド名はRsvpFormですが、あなたのフォームには有効なアクションメソッドではないRcvpFormがありました。正しい行動方法を使用するようにフォームタグヘルパーを修正すれば、今すぐ動作するはずです。

<form asp-action="RsvpForm" method="post"> 
    <!-- Your existing form elements goes here--> 
</form> 
+0

本当にありがとうございました.. –

0

それにような何か:、ビューはどのようなビューにあるどのようなコードを言うために、

$("#submitme").on("click", function() { 

     var url = $(this).data('url'); 

     $.ajax({ 
          type: 'post',//this can be change to get or post 
          url: url, 
          success: function (response) { 
           if (response != null && response.success) { 
            Alert("Success"); 

            window.location.href = "/Home/ActionNameHere"; //You can redirect any action name here.... 
           } else { 
            // DoSomethingElse() 

             Alert("something wrong"); 

           } 
          } 
         }); 

    }); 
関連する問題