2012-08-02 2 views
2

깨끗한 HTML 형식으로이 링크가 있습니다. MVC ActionLink로 만들고 싶습니다. 하지만 어떻게 가능할까요? 나는 이해할 수 없다. 쉬운 길은없는 것 같다. 또는?텍스트 및 아이콘이 포함 된 Actionlink?

<li class="active"><a href="#"><i class="icon-home icon-large"></i> Dashboard</a></li> 

아이디어가 있으십니까?

답변

12

몇 가지 옵션이 있습니다.

옵션 1 :

<li class="active"><a href="@Url.Action("YourAction", "YourController")"><i class="icon-home icon-large"></i> Dashboard</a></li> 

옵션 2 :

이 문자열/MvcHtmlString에 소요 Html 헬퍼에 대한 자신의 확장 방법을 쓰기를 인코딩 HTML없이 링크 태그에 넣어.

public static MvcHtmlString SpecialActionLink(this HtmlHelper html, String action, String controller, String innerHtml) { 
    TagBuilder tag = new TagBuilder("a"); 
    tag.MergeAttribute("href", new UrlHelper(html.ViewContext.RequestContext).Action(action, controller)); 
    tag.InnerHtml = innerHtml; 
    return new MvcHtmlString(tag.ToString(TagRenderMode.Normal)); 
} 

는 (그것을 테스트하지 않은,하지만 당신은 그것을 수행하는 방법에 대한 아이디어를 제공해야합니다.)

+0

고마워요! – user1570634

+1

문제가 해결되면 대답을 "수락 함"으로 표시하십시오. :) –

6
<li class="active"> 


    @Html.ActionLink("Dashboard", //Title 
        "Index",  // Action 
        "Home",  // Controller 
        new { @class = "home-icon"} // htmlAttributes 
        ) 

</li> 


.home-icon{ /*Some CSS to set the background image (not tested) */ 
    padding:16px; 
    background:transparent url('path-to-image.png') .... ; 
} 
+1

나는이 대답을 좋아한다. MVC 5와 부트 스트랩 3에이 코드를 사용했습니다 :

  • @ Html.ActionLink ("Logout", "Login", "Account", null, new {@class = "glyphicon glyphicon-log-out"})
  • ' –

    1

    당신은 ActionLink를 사용할 수 없습니다. 유일한 방법은 @ url.action입니다.

    <a href="@Url.Action("View","Article",new {area="",id=id})"><span>This is a test</span></a> 
    
    +0

    If 당신은 하이퍼 링크에 이미지 또는 html 요소를 삽입하고 싶습니다. 이것은 쉬운 방법입니다. –

    관련 문제