使用T4MVC,如何在HTML表单上设置action属性

发布于 2024-10-18 21:08:25 字数 521 浏览 2 评论 0原文

我正在迈出第一步,使用 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 的更多信息)。

I am taking my first teetering steps with submitting Html forms using jQuery. All works well, but would like to use the T4MVC to generate the action link.

This works with Html.BeginForm (and Ajax.BeginForm) because they take an ActionResult as the action generating param. Ie:

Is there a way to do:

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

I suppose I could do:

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

But really wonder if T4MVC can handle this. Suspect not, but am new to it, so maybe am missing something?

(And yes, I know about Ajax.BeginForm, but am using the current project to learn more about MVC and jQuery).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

醉生梦死 2024-10-25 21:08:25

以下应该可行:

<form method="POST" action="@Url.Action(MVC.MyArea.MyController.MyAction())">

或者如果您需要添加额外的路由值:

<form method="POST" action="@Url.Action(MVC.MyArea.MyController.MyAction().AddRouteValues(new { @id = "myForm" }))">

The following should work:

<form method="POST" action="@Url.Action(MVC.MyArea.MyController.MyAction())">

Or if you need to add extra route values:

<form method="POST" action="@Url.Action(MVC.MyArea.MyController.MyAction().AddRouteValues(new { @id = "myForm" }))">
一笑百媚生 2024-10-25 21:08:25

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

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

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

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

I use MVCFutures for this. Then, you can do stuff like:

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

Forms will generally post to c.Action(null) as these actions will often bind to a model, represented here by null.

Caveat: MVC Futures BeginForm does not play nicely with MVCValidation (client-side). If you are using jquery client-side validation you won't have problems.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文