For this type of scenario, you usually have the Model property, which was actually a flag of whether it can be deleted or not (this is more like the ViewModel approach), so that the view does not actually execute logic, the controller simply reports which action is available.
@if(Model.CanDelete) { using (Html.BeginForm()) { <p> Are you really sure you want to delete this? </p> <p> <input type="submit" value="Confirm" /> | @Html.ActionLink("Cancel", "Index") </p> } } else { <p>You can't delete this!</p> }
CanDelete can be populated by the controller using a combination of child data status, role membership, business status, etc., but all of this should not matter for presentation
source share