2013-11-14 3 views
0

У меня есть вид страницы, где у меня есть этот код:Html.ActionLink возвращает нуль

<%: Html.ActionLink("Edit", "Edit", "Admin", new { id = item.Username })%> 

А вот мой контроллер

public ActionResult Edit(String id) 
    { 
     String x = id; 
    } 

Но строка х имеет значение «нуль» .action Результат в Controller Admin, так что это не ошибка. Также я использую item.Username, чтобы показывать результаты в таблице, и он отлично работает.

Если я пытаюсь с этим в View

<%: Html.ActionLink("Edit", "Edit", "Admin", new { id = item.Username }, null)%> 

Я получаю ошибку 404.

Кто-нибудь знает, где моя ошибка?

+0

Вы проверили маршрут в Global.asax? –

+0

Да, все в порядке. – daidai

ответ

0

Вы можете использовать следующую перегрузку ActionLink Helper:

<%: Html.ActionLink("Edit", "Edit", new { Controller = "Admin", Action = "Edit", id = item.Username })%> 

Это должно сделать работу.

+0

Этот код отправляет меня на страницу ../Admin/Edit/item.Username. Можете ли вы рассказать мне, как создать код для этого? – daidai

0

Пробовал Url.Action

<a href="@(Url.Action("Edit", "Action", new { id = item.Username }))"></a> 
0

Попробуйте другую перегрузку:

<%: Html.ActionLink("Edit", "Edit", new RouteValueDictionary() {{"id",item.Username}}) %> 

Нажмите here для получения дополнительной информации

Смежные вопросы