c# - ASP.Net 对导航栏按钮使用 @Html.ActionLink()

标签 c# asp.net-mvc

我目前正在研究 Visual Studio MVC。由于 MVC 有助于为某些功能自动创建代码。我试图理解这句代码是什么意思。我理解前两个参数,但不理解第三个参数。

-----> @Html.ActionLink("Text Displayed", "Method in controller", "Third???")

我的 Controller 代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MP.Controllers
   {
public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

下面是我看不懂的代码:

<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>

最佳答案

第三个参数是 Controller 的名称。在您的情况下,您有一个名为 HomeController 的 Controller ,因此第三个参数是 "Home"(按照惯例,您省略了“Controller”后缀)。

如果使用@Html.ActionLink()方法的页面是由HomeController中的方法生成的,可以省略第三个参数,因为例如,在您的 About 页面中,您可以使用

<li>@Html.ActionLink("Home", "Index")</li>

然而,如果 Index() 方法在(比如说)ProductController 中,那么它就需要是

<li>@Html.ActionLink("Home", "Index", "Product")</li>

关于c# - ASP.Net 对导航栏按钮使用 @Html.ActionLink(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858713/

相关文章:

javascript - 将 JavaScript 变量传递给辅助方法

c# - 如何通过代码泛化分析数据?

c# - 如何使用 Groupby 和 Linq 对 DataTable 中多列的值求和

c# - ASP.NET MVC 和 NHibernate - 使用属性而不是 XML

asp.net-mvc - 让 Angular 在 ASP.NET MVC/WEB Api 模板中工作的最少工作是什么

asp.net - Html.ActionLink 生成的奇怪链接

c# - 如何在 Orchard 中设置自定义 Controller 工厂?

c# - Linq在字符串数组上

c# - 多次打开/关闭一个oracle连接c#

asp.net-mvc - 没有类型为 'Blah' 的键为 'IEnumerable<SelectListItem>' 的 ViewData 项