我正在使用jQuery提交Html表单,这是我的第一步。一切运作良好,但想使用T4MVC生成动作链接。
这适用于Html.BeginForm(和Ajax.BeginForm),因为它们将ActionResult作为生成参数的动作。即:
有办法吗?
<form method="POST" action="@MVC.???">
我想我能做到:
@using (Html.BeginForm(MVC.MyArea.MyController.MyAction(),...,new {@id="myForm"}))
{
// Inputs
}
但是真的很奇怪T4MVC是否可以解决这个问题。怀疑不是,但我是新手,所以也许我错过了什么?
(是的,我知道Ajax.BeginForm,但我正在使用当前项目来了解有关MVC和jQuery的更多信息)。
答案 0 :(得分:9)
以下内容应该有效:
<form method="POST" action="@Url.Action(MVC.MyArea.MyController.MyAction())">
或者如果您需要添加额外的路线值:
<form method="POST" action="@Url.Action(MVC.MyArea.MyController.MyAction().AddRouteValues(new { @id = "myForm" }))">
答案 1 :(得分:0)
我使用MVCFutures。然后,您可以执行以下操作:
@using (Html.BeginForm<ControllerController>(c => c.MyAction(null))) { // form }
表单通常会发布到c.Action(null),因为这些操作通常会绑定到模型,此处由null表示。
警告:MVC Futures BeginForm与MVCValidation(客户端)不能很好地协作。如果您使用的是jquery客户端验证,则不会出现问题。