Я назвал вид из другого методом Html.Action
. Я хочу вызвать одно и то же действие с параметром Внутри дочернего представления, когда пользователь нажимает ссылку на действие.Actionlink для дочернего действия
Когда я пишу этот код, я получаю сообщение об ошибке:
Html.ActionLink("link", "Configure", new { id = 2 })
Действие «Настройка» доступен только по запросу ребенка.
Как я могу справиться с этой проблемой?
Edit: Постараюсь reexplain вопрос:
мой родительский взгляд ConfigureMethod.cshtml. Я называю ребенок вид ребенка так:
@Html.Action("Configure", "Payment");
Он идет к этому контроллеру и возвращает ActionResult (не PartialView) внутри ConfigureMethod зрения:
[ChildActionOnly]
public ActionResult Configure()
{
}
вида внутри конфигурирования я сделать ссылку действия так:
Html.ActionLink("link", "Configure", new { id = x.Id })
Он должен идет к этому контроллеру:
[ChildActionOnly]
public ActionResult Configure(int Id)
{
}
Однако, когда записывается атрибут childonly, он дает ошибку. Когда я удаляю этот атрибут, он работает, но результаты поступают напрямую, а не внутри представления ConfigureMethod.
спасибо.
Я отредактировал вопрос, чтобы устранить проблему в отношении вашего сообщения. – mavera
@mavera, Как вы уже упоминали, Html.ActionLink (....) создаст ссылку, например , при нажатии на ссылку она перенаправится на другую страницу, поэтому действие не должен иметь атрибут [ChildAction]. Где, как Html.Action (...), вернет представление/частичное представление в контексте родительского представления. [ChildAction] означает, что действие не может быть инициировано напрямую, а в родительском контексте. – Manas