0

編集:

関数「TheColorNameFunction」は正常に機能しています。問題は、関数が「TheRequest」return View()に戻るようにする方法です。 View

解決済み:

Viewのように名前を書き込むだけで済みます。return View()return View("TheRequest")


コントローラー:

Function TheRequest() As ActionResult

        Return View()
    End Function


    <HttpPost()>
    Function TheColorNameFunction() As ActionResult

        Response.Write("The color you have submitted: " & Request.Form("ColorName"))

        Return View()
    End Function

HTML:

@Html.BeginForm("TheColorNameFunction", "Home", method:= FormMethod.Post)

<fieldset>
    <input type="text" name="ColorName" />
    <input type="submit" name="ColorName_SubmitButton" />
</fieldset>

HTML秒:

            <ul id="menu">
                <li>@Html.ActionLink("Home", "Index", "Home")</li>
                <li>@Html.ActionLink("About", "About", "Home")</li>
                <li>@Html.ActionLink("The Request View", "TheRequest", "Home")</li>

            </ul>
4

2 に答える 2

3

私があなたの質問を正しく理解している場合、これはViewDataまたはビューモデルのいずれかを使用して達成できます。ViewDataは、状況に応じて簡単に使用できます。

ViewDataの使用:

あなたの行動方法:

<HttpPost()>
Function TheColorNameFunction(ColorName as String) As ActionResult
    ViewData("message") = "The color you have submitted: " & ColorName
    Return View()
End Function

そして、あなたのビューでは、次のようなメッセージを表示できます。

@ViewData("message")

更新:わかりました。正しく理解できれば、「TheRequest」というタイトルの元のビューに戻りたいだけですよね。return View()これを行うには2つの方法があります...単に行う代わりにreturn TheRequest()、または.vbhtmlファイルの名前が「TheRequest」の場合は、を使用できますreturn View("TheRequest")

于 2012-11-18T22:04:52.857 に答える
0

ここで説明されているアクションのURLを生成する方法を尋ねているかどうかはわかりません:Url.Actionパラメーター?

または、送信するだけの場合は、次のものだけが必要です。

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

アクションに投稿するフォームがすでにあるので、送信ボタンで十分です。

私はあなたの質問を正しく理解しましたか?

更新:渡される値については、次のようにアクションで引数を渡すだけです。

    <HttpPost()>
    Function TheColorNameFunction(colorName as String) As ActionResult

MVCのメカニズムは、フォームにある任意のフィールドまたは値から複雑なオブジェクトを構築するのに十分なほどスマートです

アクションは次のように書く必要があります。

 @Url.Action("TheColorNameFunction", "Home", "green")
于 2012-11-18T16:37:11.607 に答える