4

我在使用 jQuery 提交 Html 表单时迈出了蹒跚的第一步。一切正常,但想使用 T4MVC 生成动作链接。

这适用于 Html.BeginForm(和 Ajax.BeginForm),因为它们将 ActionResult 作为动作生成参数。IE:

有没有办法:

<form method="POST" action="@MVC.???">

我想我可以这样做:

@using (Html.BeginForm(MVC.MyArea.MyController.MyAction(),...,new {@id="myForm"}))
        {
            // Inputs
        }

但真的很想知道 T4MVC 是否可以处理这个问题。怀疑不是,但对它很陌生,所以也许我错过了什么?

(是的,我知道 Ajax.BeginForm,但我正在使用当前项目来了解有关 MVC 和 jQuery 的更多信息)。

4

2 回答 2

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" }))">
于 2011-02-23T19:53:28.700 回答
0

我为此使用MVCFutures。然后,您可以执行以下操作:

@using (Html.BeginForm<ControllerController>(c => c.MyAction(null))) { // form }

表单通常会发布到 c.Action(null),因为这些操作通常会绑定到模型,这里用 null 表示。

警告:MVC Futures BeginForm 不能很好地与 MVCValidation(客户端)配合使用。如果您使用 jquery 客户端验证,则不会有问题。

于 2011-02-22T22:51:06.660 回答