在ASP.NET MVC中,表单标记的“动作”部分是什么意思?

时间:2010-08-25 07:42:24

标签: c# html asp.net-mvc forms action

当我在表单标记中有以下action时,'/ Account / Profile`部分是什么意思?

<form method="post" action="/Account/Profile"

它是视图的文件名吗?这是行动吗?

3 个答案:

答案 0 :(得分:1)

这取决于您已设置的路由,但如果您坚持约定Account是控制器(名为AccountController.cs的文件)​​,Profile是此控制器的操作方法:< / p>

// Account is a controller
public class AccountController : Controller
{
    // Profile is an action method
    public ActionResult Profile()
    {
        return View();
    }
}

我建议你按照一些tutorials here来熟悉ASP.NET MVC的基础知识。

答案 1 :(得分:0)

如果您使用的是默认路由,则Account是控制器,Profile是操作。控制器是类,action是将被调用的方法。您可以在Global.asax文件中查看您的路线

答案 2 :(得分:0)

Darin很好地解释了,这完全取决于Routing配置。

例如,如果这是routing-configuration控件的Account,则如下所示,

public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "AccountRouting",
                routeTemplate: "Account/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }

当你提出类似的东西时,

 <form method="post" action="/account/Profile" > .... </form>

会将用户(在表单提交后)带到Profile控制器的account操作方法。

如果routing-configuration控制器的Account如下所示,

public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "AccountRouting",
                routeTemplate: "cntrl/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }

,表格标签就像,

<form method="post" action="/cntrl/Profile" > .... </form>

这将带您进入Profile控制器的account方法。

所以,重点是"this depends upon your routing configuration!"