C# 将ActionLink添加到默认MVC Web应用程序
我已经创建了HelloWorld控制器及其相应的视图。当我转到C# 将ActionLink添加到默认MVC Web应用程序,c#,html,asp.net-mvc,razor,C#,Html,Asp.net Mvc,Razor,我已经创建了HelloWorld控制器及其相应的视图。当我转到http://localhost/HelloWorld 我正在尝试向默认MVC应用程序添加菜单项。在_Layout.cshtml文件中 <ul id="menu"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("Hello World", "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>
- @ActionLink(“主页”、“索引”、“主页”)
- @ActionLink(“HelloWorld”、“HelloWorld”、“HelloWorld”)
- @ActionLink(“关于”、“关于”、“主页”)
注意,我只添加了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”)
试一试
假设,即,
HelloWorld
以您的HelloWorld控制器
上的操作的名义。如果操作不同,请用适当的名称替换第二个参数。也可以使用空字符串:
@Html.ActionLink("Home", "", "")
@Html.ActionLink("About Us", "About", "Home")
@Html.ActionLink("Contact me", "Contact", "Home")
很容易。业余的错误。7分钟后才能接受。将在几分钟内接受。谢谢,不客气。有时我们很累,即使是最简单的事情也很困难。因为他希望URL是
/HelloWorld
,所以操作必须是索引。
@Html.ActionLink("Home", "", "")
@Html.ActionLink("About Us", "About", "Home")
@Html.ActionLink("Contact me", "Contact", "Home")