سؤال

أبحث عن طريقة لتغيير فئة Action Link في وحدة التحكم بناء على معايير محددة (غير موجودة في النموذج، لذلك لا يمكنني كتابة مشروط في عرض نفسها). لكنني لا أستطيع أن أجد للعثور على ViewData ("الاسم") الذي يسمح لي بالعمل ث / هذا العنصر (أفترض أن هذا ممكن، لكنني أفتقد شيئا ما).

لدي مساعد HTML مثل في رأيي

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

ولكن في جهاز التحكم الخاص بي، لست متأكدا من كيفية الرجوع إلى هذا، مثل أدناه لإضافة سمة مثل الفئة أو OnClick.

ViewData("View").attributes.add("class", "active")
هل كانت مفيدة؟

المحلول

لا تقم بتعيين سمات CSS من وحدة التحكم لأن هذا مصدر قلق للعرض. يمكنك إضافة سمات HTML إلى ActionLink مثل هذا:

 <%=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