2013-08-26 4 views

답변

2

여기는 좀 더 간단한 방법이라고 생각합니다.

이 화면 상단에 변수에 텍스트를 설정합니다

@{ 
    var someText = "Some text that must appear"; 
} 

조건부 그리고 출력 :

@if (Model.IsLink) 
{ 
    <a href='#'>@someText </a> 
} 
else 
{ 
    @someText 
} 

if 문은 위의 HTML을 문자열 건설을하고 피할 멀티 라인 만 구문을 한 줄로 압축하려면이 작업을 수행 할 수 있습니다. HTML 5에서

@Html.Raw(Model.IsLink?String.Format("<a href='#'>{0}</a>",someText):someText) 
1

사용자 지정 HtmlHelper 메서드를 만들 수 있습니다. http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs

메서드는 "IsLink"부울을 매개 변수로 사용하여 앵커 또는 일반 텍스트를 출력하는 데 사용할 수 있습니다. 다음은 그 모습을 보여주는 샘플입니다.

namespace MvcApplication1.Helpers 
{ 
    public static class LabelExtensions 
    { 
      public static string LinkableText(this HtmlHelper helper, bool isLink, string text, string url = null) 
      { 
       return isLink ? string.Format("<a href='{0}'>{1}</a>", url, text) : text; 

      } 
    } 
} 
1

은 당신이

<a>some text</a> 

을 링크가 있고

<a href="http://example.com">some text</a> 

을 할 경우이 같은 마크 업 그리고 면도기로하지 않는 경우 다음과 같은 마크 업을 가지고 valid입니다 v2 null 조건부 속성이 href를 처리하므로 코드가 이와 같을 수 있습니다.

<a href="@link">some text</a> 

@link이 null 인 경우 href 속성이 생략됩니다.

관련 문제