I think what you want is this:
(我想你想要的是这个:)
ASP.NET MVC1 (ASP.NET MVC1)
Html.ActionLink(article.Title,
"Login", // <-- Controller Name.
"Item", // <-- ActionMethod
new { id = article.ArticleID }, // <-- Route arguments.
null // <-- htmlArguments .. which are none. You need this value
// otherwise you call the WRONG method ...
// (refer to comments, below).
)
This uses the following method ActionLink signature:
(这使用以下方法ActionLink签名:)
public static string ActionLink(this HtmlHelper htmlHelper,
string linkText,
string controllerName,
string actionName,
object values,
object htmlAttributes)
ASP.NET MVC2 (ASP.NET MVC2)
two arguments have been switched around
(两个论点已被切换)
Html.ActionLink(article.Title,
"Item", // <-- ActionMethod
"Login", // <-- Controller Name.
new { id = article.ArticleID }, // <-- Route arguments.
null // <-- htmlArguments .. which are none. You need this value
// otherwise you call the WRONG method ...
// (refer to comments, below).
)
This uses the following method ActionLink signature:
(这使用以下方法ActionLink签名:)
public static string ActionLink(this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
object values,
object htmlAttributes)
ASP.NET MVC3+ (ASP.NET MVC3 +)
arguments are in the same order as MVC2, however the id value is no longer required:
(参数与MVC2的顺序相同,但不再需要id值:)
Html.ActionLink(article.Title,
"Item", // <-- ActionMethod
"Login", // <-- Controller Name.
new { article.ArticleID }, // <-- Route arguments.
null // <-- htmlArguments .. which are none. You need this value
// otherwise you call the WRONG method ...
// (refer to comments, below).
)
This avoids hard-coding any routing logic into the link.
(这避免了将任何路由逻辑硬编码到链路中。)
<a href="/Item/Login/5">Title</a>
This will give you the following html output, assuming:
(这将为您提供以下html输出,假设:)
-
article.Title = "Title"
-
article.ArticleID = 5
- you still have the following route defined
(您仍然定义了以下路线)
.
(。)
. (。)
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);