2012-05-09 3 views
1

HelloWorld Controller 및 해당 뷰를 만들었습니다. 모두에게 올바르게 작동 함 http://localhost/HelloWorld기본 MVC 웹 응용 프로그램에 ActionLink 추가

기본 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를 처음 접했을 때 내가하고있는 일을 정확히 모르겠습니다. Google 검색에서 Global.asax.cs의 경로를 수정하는 방법에 대해 언급했지만 다소 이상하게 보일 수 있습니다. 나는 또한 ~을 사용하여 오래된 학교 asp.net 페이지에서 작동하는 루트로 돌아가려고했으나 여기서는 시도하지 않았습니다.

답변

2

ActionLink에 대한 정의는 다음과 같습니다. 당신이 /HelloWorld로 리디렉션하려고하기 때문에

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper, 
    string linkText, 
    string actionName, 
    string controllerName 
) 

, 나는 당신의 컨트롤러가 HelloWorld과 액션이 Index이라고 가정하고있다. 이 정보를 사용하여 메소드를 채울 수 있습니다.

Html.ActionLink(
    "Hello World", // Link Text 
    "Index",  // Action 
    "HelloWorld", // Controller 
) 
+0

쉽게. 아마추어 실수. 7 분이 지날 때까지 받아 들일 수 없다. 몇 분 안에 받아 들일 것입니다. 감사. –

+0

당신을 진심으로 환영합니다. 때로는 가장 단순한 일조차도 힘들어 지기도합니다. –

0

당신이 원하는 것을 ActionLink의 구문은 다음과 같습니다

@Html.ActionLink(string linkText, string actionName, string controllerName) 

당신은 ActionName 전달 기본적으로는 현재 컨트롤러의 액션의 가정 것이다는 컨트롤러 명 빈을 떠난다 (에 이 경우, "집").

@Html.ActionLink("Hello World", "HelloWorld", "HelloWorld") 

액션의 이름으로 HelloWorld 당신의 HellowWorldController에, 즉 가정 해보십시오. 동작이 다른 경우 두 번째 매개 변수를 적절한 이름으로 바꿉니다.

+0

그는 URL이'/ HelloWorld'가되기를 원하기 때문에 ** 액션은'Index'가됩니다 **. –

관련 문제