2017-12-13 20 views
1

C#で剃刀構文を使用してMVC Webサイトを作成しています。HTML.BeginFormがコントローラにルーティングされない

私はここにいくつかのコードを持っている:

@using (Html.BeginForm("DoSignUp", "SignUpController", FormMethod.Post)) 
{ 
    <input type="text" width="3000" value="" name="Name" /> 
    <input type="submit" value="Register"/
} 

だから、このフォームはDoSignUp法にSignUpControllerに投稿すべきです。これを行う代わりに、私はSignUpと呼ばれる現在のページにポストバックします。私は自分のルーティングに問題があるかもしれない疑いがあるが、私はこれを見て、ブラウザの開発者向けツールを介して生成されたHTMLを見たとき:

<form action="" method="post">   
    <input type="text" width="3000" value="" name="selectedURL"> 
    <input type="submit" value="Register"> 
</form> 

編集:まあ、私はこのアウトを書いた後、私のコードを見て再び。私が血まみれにしている問題は、SignUpControllerがSignUpだけでなければならないということです。

+2

「SignUp」ではなく「SignUp」を使用してください。 '@using(Html.BeginForm(" DoSignUp "、" SignUp "、FormMethod.Post))' – Shyju

答えて

2

コントローラ名(SignUpではなく、SignUpController)から「コントローラ」を削除してください。これは、慣習的にコントローラであると仮定しています。

@using (Html.BeginForm("DoSignUp", "SignUp", FormMethod.Post)) 
{ 
    <input type="text" width="3000" value="" name="Name" /> 
    <input type="submit" value="Register"/
} 
関連する問題