焦点は、 Html.BeginForm関数の「controllerNameAsString」(一部)にあります。
HTML:
root / Views / Home / Therequestform.vbhtml
<h2>Therequestform</h2>
@Html.BeginForm("Therequest", "Home", method:= FormMethod.Post)
<fieldset>
<input type="text" name="ColorName" />
<input type="submit" name="ColorName_SubmitButton" />
</fieldset>
コントローラー:
root / Controllers / HomeController.vb
Function Therequestform() As ActionResult
Return View()
End Function
<HttpPost()>
Function Therequest() As ActionResult
Response.Write("The color you have submitted: " & Request.Form("ColorName"))
Return View()
End Function
End Class
質問:
編集:ビューへの呼び出しは、コントローラー内の関数「Therequest」を使用したHTTPPOSTメソッドへの要求呼び出しの上で行われます。
への参照はControllerName
、の2番目の部分で行われていますが、へのaを呼び出す関数への参照Html.BeginForm
の最初の部分では行われます。Html.BeginForm
request
HTTP POST method
私が抱えている問題は、を押した後、submit button
(コントローラー内の)関数の呼び出しが設定された場所で行われないことです。「送信ボタン」を押した後、次のエラーメッセージが表示されます。
アプリケーションのサーバーエラー。 ビュー「Therequest」またはそのマスターが見つからなかったか、検索された場所をサポートするビューエンジンがありません。次の場所が検索されました。
説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細: System.InvalidOperationException:ビュー'Therequest'またはそのマスターが見つからなかったか、検索された場所をサポートするビューエンジンがありません。次の場所が検索されました。
〜/ Views / Home / Therequest.aspx
〜/ Views / Home / Therequest.ascx
〜/ Views / Shared / Therequest.aspx
〜/ Views / Shared / Therequest.ascx
〜/ Views / Home / Therequest.cshtml
〜/ Views / Home / Therequest.vbhtml
〜/ Views / Shared / Therequest.cshtml
〜/ Views / Shared / Therequest.vbhtml
ソースエラー:現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。
その場所では「検索」または「呼び出し」は行われませんset
。ここで、 Html.BeginFormのパラメーター配列によって、関数executed
名が設定され、また、controllerName
が設定されます-これは(root / Controllers / HomeController.vb)に設定されます-そして3番目の部分でメソッドはに設定されますPOST
。
問題は、設定された場所で通話が行われない 原因は何ですか?
使用したツール: VB.NET 2012、MVC 4、Visual Studio 2012、Microsoft SQL Server 2012