Я столкнулся с тем, что, по-видимому, является несогласованностью в MVC 5 относительно Html.Actionlink. В разных файлах cshtml я могу использовать один и тот же код, но создаваемая цель URL-адреса различна.MVC Action Link Issue
Например, эта строка кода:
<td>@Html.ActionLink(item.Description, "Edit", new { item.ParentTableID }) </td>
генерирует этот URL
localhost\MyControllerClass\Edit?ParentTableID=35
Что тогда правильно называет метод ActionView Edit и питающую параметр с 35, как и ожидалось.
Однако в другом файле cshtml, этой линии
<td>@Html.ActionLink("Edit", "EditChild", new { id = f.ApplicationTableFieldID})</td>
производит этот URL
localhost/MyControllerClass/Edit/7
и когда он попадает в EditChild Action View, параметр является недействительным.
Я видел это сейчас пару раз и еще не смог понять, в чем разница. Но мне нужен первый результат.
Спасибо.
Не знаю, что я знаю андер, но в каждой из ваших ссылок действий для параметров вы указываете 'id' = f.ApplicationTableFieldID, а в другом - только item.ParentTableID. Вы пробовали сделать их одинаковыми? С точки зрения наличия '@ Html.ActionLink (« Edit »,« EditChild », new {f.ApplicationTableFieldID})' –