當我在表單標籤中有以下action
時,'/ Account/Profile`部分是什麼意思?ASP.NET MVC中,表單標記的'action'部分是什麼意思?
<form method="post" action="/Account/Profile"
它是一個視圖的文件名?這是一個行動嗎?
當我在表單標籤中有以下action
時,'/ Account/Profile`部分是什麼意思?ASP.NET MVC中,表單標記的'action'部分是什麼意思?
<form method="post" action="/Account/Profile"
它是一個視圖的文件名?這是一個行動嗎?
這將取決於你的設置,但如果你堅持的慣例Account
是控制器Profile
(稱爲AccountController.cs文件)和路由是這個控制器的操作方法:
我會建議你遵循一些tutorials here來熟悉ASP.NET MVC的基礎知識。
如果您使用的是默認路由,則Account是控制器,Profile是操作。控制器是類,動作是將被調用的方法。您可以在Global.asax文件中查看您的路線
正如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>
將採取用戶(根據表單提交)到account
控制器的動作方法Profile
。
如果爲Account
控制器在routing-configuration
是類似下面,
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>
這將帶你到account
控制器的Profile
方法。
所以,關鍵是"this depends upon your routing configuration!"
在這種情況下,「行動」一詞實際上是從HTML規範,而不是MVC的到來。這是表單將被髮送(發佈)到的URL。 – Ryan 2010-08-25 20:10:43