HTML.ActionLink方法

假设我有一堂课

public class ItemController:Controller

{

public ActionResult Login(int id)

{

return View("Hi", id);

}

}

在不位于项目文件夹ItemController所在的页面上,我想创建该Login方法的链接。那么Html.ActionLink我应该使用哪种方法以及应该传递什么参数呢?

具体来说,我正在寻找方法的替代品

Html.ActionLink(article.Title,

new { controller = "Articles", action = "Details",

id = article.ArticleID })

在最近的ASP.NET MVC版本中已停用。

回答:

我认为您想要的是:

回答:

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).

)

这使用以下方法ActionLink签名:

public static string ActionLink(this HtmlHelper htmlHelper, 

string linkText,

string controllerName,

string actionName,

object values,

object htmlAttributes)

回答:

两个论点已经改变

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).

)

这使用以下方法ActionLink签名:

public static string ActionLink(this HtmlHelper htmlHelper, 

string linkText,

string actionName,

string controllerName,

object values,

object htmlAttributes)

回答:

参数与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).

)

这样可以避免将任何路由逻辑硬编码到链接中。

 <a href="/Item/Login/5">Title</a>

假定以下内容,这将为您提供以下html输出:

  1. article.Title = "Title"
  2. article.ArticleID = 5
  3. 您仍然定义了以下路线

。。

routes.MapRoute(

"Default", // Route name

"{controller}/{action}/{id}", // URL with parameters

new { controller = "Home", action = "Index", id = "" } // Parameter defaults

);

以上是 HTML.ActionLink方法 的全部内容, 来源链接: utcz.com/qa/430198.html

回到顶部