Для такого типа сценария обычно у вас есть свойство Model, которое фактически является признаком того, можете ли вы удалить его или нет (это больше соответствует подходу ViewModel), так что представление фактически не выполняетПо логике, контроллер просто сообщает представлению, какое действие доступно.
@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 можно заполнить в контроллере, используя комбинацию дочерних состояний данных, членства в ролях, бизнес-статуса и т. д., но только представлениювсе эти вещи не должны иметь значения