У меня возникли проблемы с созданием ActionLink с использованием Preview 5. Все документы, которые я могу найти, описывают более старую общую версию.Как создать ссылку для действия?
Я строю ссылки на список заданий на странице/заданиях. В каждой задаче есть указатель, и я хотел бы построить ссылку на/jobs/details/{guid}, чтобы я мог показать подробности о работе. У моего контроллера заданий есть указатель и контроллер детали. Контроллер деталей принимает указатель. Я пробовал это
<%= Html.ActionLink(job.Name, "Details", job.JobId); %>
Тем не менее, это дает мне url "/ jobs/details". Что мне здесь не хватает?
Решено, с вашей помощью.
Route (добавлено до броской всего маршрута): ссылка
routes.Add(new Route("Jobs/Details/{id}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new
{
controller = "Jobs",
action = "Details",
id = new Guid()
}
});
Действие:
<%= Html.ActionLink(job.Name, "Details", new { id = job.JobId }) %>
Результаты в HTML якорь:
http://localhost:3570/WebsiteAdministration/Details?id=2db8cee5-3c56-4861-aae9-a34546ee2113
Итак, его запутанные маршруты. Я переместил определение маршрута работы до администратора веб-сайта, и теперь он работает. Очевидно, мои определения маршрута SUCK. Мне нужно прочитать больше примеров.
Боковое примечание, мои ссылки не показывались, а quickwatches не работали (не может ускорить выражение с анонимным типом), что значительно усложнило то, что происходило здесь. Оказалось, что ссылки на действия не показывались из-за очень незначительной опечатки:
<% Html.ActionLink(job.Name, "Details", new { id = job.JobId })%>
Это снова заберет меня.
Аа, "магия". Попробуем это утром. – Will 2008-09-30 02:56:23