문제

특정 기준을 기반으로 컨트롤러에서 ActionLink 클래스를 변경하는 방법을 찾고 있습니다 (모델에서 찾을 수 없으므로보기 자체에서 조건부를 쓸 수 없습니다). 그러나 나는이 요소와 함께 일할 수있는 ViewData ( "name")를 찾을 수없는 것 같습니다 (이것이 가능하다고 생각하지만 뭔가 빠진 것입니다).

내 관점에서 그렇게 html 헬퍼가 있습니다.

<%=Html.ActionLink("View", "Index", "Home")%>

그러나 내 컨트롤러에서는 클래스 또는 OnClick과 같은 속성을 추가하기 위해 아래를 참조하는 방법을 잘 모르겠습니다.

ViewData("View").attributes.add("class", "active")
도움이 되었습니까?

해결책

컨트롤러에서 CSS 속성을 설정하지 않으므로 View의 관심사이므로 CSS 속성을 설정하지 않습니다. actionlink에 다음과 같이 HTML 속성을 추가 할 수 있습니다.

 <%=Html.ActionLink("View Cases", "Index", "Home", new { @class="active" })%>

또는 앵커를 "수동으로"만들 수 있습니다.

 <a href="<%=Url.Action("Index", "Home")%>" class="active">View Cases</a>

또는 조건부로 활성 클래스를 설정 해야하는 경우 :

 <% var activeClass = someCondition ? "active" : ""; %>
 <a href="<%=Url.Action("Index", "Home")%>" class="<%=activeClass%>">View Cases</a>

다른 팁

안에 면도칼 보기 당신은 다음과 같은 일을 할 수 있습니다.

@model AssessmentQuestionViewModel

@{var newClass = Model.AnswerValue == 0 ? "not-answered" : string.Empty;}

<a href="@Url.Action("Index", "Home")" class="wizard-step @newClass">View Question</a>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top