2016-05-27 7 views
1

Dies ist meine Indexansicht, die die Ergebnisse einer Tabelle anzeigt.Deaktivieren oder Blockieren der Bearbeitungsschaltfläche in der Ansicht MVC

würde Ich mag den Link Bearbeiten blockieren oder einen Info-Dialog zeigen ("Die Option gesperrt zu bearbeiten."):

@Html.ActionLink("Edit", "Edit", new { id = item.ID }) 

Nur wenn der Wert dieser Zeile:

@Html.DisplayFor(modelItem => item.IsActive) 

Ist gleich 1.

Wie kann ich das erreichen?

Übersicht:

@model ContosoUniversity.ViewModels.InstructorIndexData 

@{ 
    ViewBag.Title = "Instructors"; 
} 

<h2>Instructors</h2> 

<p> 
    @Html.ActionLink("Create New", "Create") 
</p> 
<table class="table"> 
    <tr> 
     <th>Last Name</th> 
     <th>First Name</th> 
     <th>Is Active</th> 
     <th></th> 
    </tr> 

    @foreach (var item in Model.Instructors) 
    { 
     string selectedRow = ""; 
     if (item.ID == ViewBag.InstructorID) 
     { 
      selectedRow = "success"; 
     } 
     <tr class="@selectedRow"> 
      <td> 
       @Html.DisplayFor(modelItem => item.LastName) 
      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.FirstMidName) 
      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.IsActive) 
      </td> 

      <td> 
       @Html.ActionLink("Edit", "Edit", new { id = item.ID }) | 
       @Html.ActionLink("Details", "Details", new { id = item.ID }) | 
       @Html.ActionLink("Delete", "Delete", new { id = item.ID }) 
      </td> 
     </tr> 
    } 

</table> 

Bitte helfen.

Antwort

0

die folgenden Versuchen Sie, wenn Sie Link ausblenden möchten komplett über:

@if (item.IsActive == 1) 
{ 
    @Html.ActionLink("Edit", "Edit", new { id = item.ID }) 
} 

Oder wenn Sie es mit Text ersetzen möchten:

@if (item.IsActive == 1) 
{ 
    @Html.ActionLink("Edit", "Edit", new { id = item.ID }) 
} 
else 
{ 
    <span>The option to edit locked.</span> 
} 
+0

Dank! Es klappt :) – Ebasse

Verwandte Themen