将操作链接添加到默认 MVC Web 应用程序
本文关键字:MVC Web 应用程序 默认 操作 链接 添加 | 更新日期: 2023-09-27 18:33:39
我创建了一个HelloWorld控制器,它是相应的视图。 当我去http://localhost/HelloWorld
时,一切正常
我正在尝试将菜单项添加到默认的 MVC 应用程序。 在我有的 _Layout.cshtml 文件中
<ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Hello World", "HelloWorld", "")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
</ul>
请注意,我添加的唯一内容是Hello World部分。 但是,当我单击菜单项时,它会带我http://localhost/Home/HelloWorld
。 我如何让它只去http://localhost/HelloWorld
?
我真的是MVC的新手,不确定我在做什么。 一些谷歌搜索提到了修改 Global.asax 中的路由.cs但这似乎有点奇怪,不知道从哪里开始。 我也尝试使用 ~ 回到根目录,这在旧学校 asp.net 页面中有效,但在这里不起作用。
ActionLink
的定义是。
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName
)
由于您正在尝试重定向到 /HelloWorld
,我假设您的控制器HelloWorld
并且您的操作Index
。 使用这些信息,我们可以填写方法。
Html.ActionLink(
"Hello World", // Link Text
"Index", // Action
"HelloWorld", // Controller
)
您想要的 ActionLink 语法为:
@Html.ActionLink(string linkText, string actionName, string controllerName)
您传入 ActionName 并将 controllerName 留空,默认情况下,这将假定它是当前控制器上的操作(在本例中为"Home")。
尝试
@Html.ActionLink("Hello World", "HelloWorld", "HelloWorld")
假设,也就是说,HelloWorld
以您HellowWorldController
上的操作的名义. 如果 Action 不同,请将第二个参数替换为适当的名称。
您也可以使用空字符串:
@Html.ActionLink("Home", "", "")
@Html.ActionLink("About Us", "About", "Home")
@Html.ActionLink("Contact me", "Contact", "Home")