函数“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.BeginForm("TheColorNameFunction", "Home", method:= FormMethod.Post)
<fieldset>
<input type="text" name="ColorName" />
<input type="submit" name="ColorName_SubmitButton" />
</fieldset>
<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>
答案 0 :(得分:2)
如果我正确理解您的问题,可以使用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()
你可以return TheRequest()
,或者如果.vbhtml文件的名称是'TheRequest',你可以使用return View("TheRequest")
答案 1 :(得分:0)
我不知道您是否在询问如何生成您的操作网址,详情请参阅:Url.Action parameters?
或者如果您只是想提交它,那么您只需要:
<input type=submit value="submit" />
您已经将表单发布到您的操作中,因此提交按钮已经足够了。
我是否正确理解了您的问题?
更新:对于要传递的值,只需在您的操作中传递一个参数,如下所示:
<HttpPost()>
Function TheColorNameFunction(colorName as String) As ActionResult
MVC的机制足够聪明,可以从表单中的任何字段或值构建复杂对象
你的行动应该是这样写的:
@Url.Action("TheColorNameFunction", "Home", "green")