0

编辑:

函数“TheColorNameFunction”运行成功。问题是,如何让return View()函数返回到"TheRequest" 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 在您的情况下使用起来更简单。

使用视图数据:

您的操作方法:

<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()你可以这样做return TheRequest(),或者如果 .vbhtml 文件的名称是“TheRequest”,你可以使用return View("TheRequest").

于 2012-11-18T22:04:52.857 回答
0

不知道你是不是在问如何生成你的action的url,这里有解释:Url.Action parameters?

或者如果你只是想提交它,在这种情况下你只需要:

<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 回答