Arhn - архитектура программирования

MVC — Html.ActionLink на DisplayTemplate не отображается

У меня есть следующая структура папок: Controller/EntityController Views/Entity/Index.cshtml Views/Shared/DisplaTemplates/CustomEntity.cshtml

EntityController:

public ActionResult Index()
{
    var entities = CustomEntityRepository.GetAll();
    return View(entities);
}

public ActionResult Edit(int id)
{
    if (id == 0)
    {
        return HttpNotFound();
    }
    var entity = CustomEntityRepository.Find(e => e.ID == id);
    return View(entity);
}

Содержание Index.cshtml:

@model IEnumerable<CustomEntity>

@{
    ViewBag.Title = "Index";
}
@Html.DisplayForModel()

Содержимое CustomEntity.cshtml:

@model CustomEntity
<div>
    Entity: 
    <strong>@Model.Name</strong>
    @Html.ActionLink("Show All","Edit","Entity", new { id= @Model.ID}, null)
    @Html.LabelFor(m=>m.Icon):
    @Model.Icon
    @Html.LabelFor(m=>m.TypeName):
    @Model.TypeName
</div>

EDIT: Конфигурация маршрутизации:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );

Однако ActionLink работает не так, как я ожидаю. Я хочу, чтобы ActionLink указывал на действие EntityController Edit с идентификатором, предоставленным каждым отдельным объектом. Вместо этого он отображает следующий URL-адрес:

http://localhost/MySite/Reports?action=Edit&controller=Entity&id=1

Я не знаю, откуда берется /Reports/.

Спасибо!


  • Можете ли вы опубликовать свою конфигурацию маршрутизации? Или подтвердите, что это значение по умолчанию (например, {controller}/{action}/{id})? 24.10.2013

Ответы:


1

Используйте Html.RouteLink, указав имя маршрута

@Html.RouteLink("Show All", "Default", new { Controller = "Entity", Action = "Edit", id = Model.Id })

Другой вариант - изменить порядок маршрутов на карте, маршрут по умолчанию должен быть в конце файла конфигурации маршрута.

С уважением

25.10.2013
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..