HTML.ActionLink方法

HTML.ActionLink方法,第1张

HTML.ActionLink方法

我认为您想要的是:

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

这使用以下方法Actionlink签名

public static string Actionlink(this HtmlHelper htmlHelper,string linkText,          string controllerName,          string actionName,          object values,object htmlAttributes)
ASP.NET MVC2

两个论点已经改变

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)
ASP.NET MVC3 +

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存