Стандартный тег гиперссылки является добавление каталогов - PullRequest
0 голосов
/ 17 марта 2012

Я не могу заставить это залипать, оно должно оставаться прежним при нажатии, но оно добавляет первые два каталога к нему после перенаправления:

<a href="~/Main/Content/Company/@Model.CompanyId/RemoveCompany"> remove </a>

Когда я нажимаю на него, браузер пытается перенаправить на http://localhost/Main/Content/Companies/68/~/Main/Content/Company/68/RemoveCompany

тоже пробовал

<a href="/Main/Content/Company/@Model.CompanyId/RemoveCompany"> remove </a>

перенаправляет на http://localhost/Main/Companies/Main/Content/Company/0/RemoveCompany

маршрут выглядит следующим образом в нашей основной зоне:

context.MapRoute("RemoveCompany", "Main/Content/Company/{id}/RemoveCompany", new { controller = "Company", action = "RemoveCompany", id = UrlParameter.Optional });

1 Ответ

1 голос
/ 17 марта 2012

Вы пытались использовать помощника?

<a href="@Url.Content("~/Main/Content/Company/" + Model.CompanyId + "/Remove")"> remove </a>

или даже лучше: Маршруты - тип стандартных вещей, которые люди используют в ASP.NET MVC.Похоже, вы пытаетесь выполнить действие контроллера, принадлежащее области или чему-то еще.Так что просто настройте свои маршруты и начинайте:

@Html.ActionLink(
    "remove",
    "RemoveCompany", 
    "Company", 
    new {
        area = "main",
        id = Model.CompanyId
    }, 
    null
)

с учетом следующей регистрации в основной зоне:

context.MapRoute(
    "RemoveCompany", 
    "Main/Content/Company/{id}/RemoveCompany", 
    new { 
        controller = "Company", 
        action = "RemoveCompany", 
        id = UrlParameter.Optional 
    });

выход:

<a href="/Main/Content/Company/123/RemoveCompany">remove</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...