C# 行动链接到儿童行动
我用C# 行动链接到儿童行动,c#,asp.net-mvc-3,action,actionlink,C#,Asp.net Mvc 3,Action,Actionlink,我用Html.Action方法从另一个视图调用了一个视图。当用户单击操作链接时,我希望在子视图中使用参数调用相同的操作 当我编写此代码时,会收到以下错误消息: Html.ActionLink("link", "Configure", new { id = 2 }) 操作“配置”只能由子请求访问 我如何处理这个问题 编辑:我将尝试重新解释这个问题: 我的父视图是ConfigureMethod.cshtml。我这样称呼子视图: @Html.Action("Configure", "Payment"
Html.Action
方法从另一个视图调用了一个视图。当用户单击操作链接时,我希望在子视图中使用参数调用相同的操作
当我编写此代码时,会收到以下错误消息:
Html.ActionLink("link", "Configure", new { id = 2 })
操作“配置”只能由子请求访问
我如何处理这个问题
编辑:我将尝试重新解释这个问题:
我的父视图是ConfigureMethod.cshtml。我这样称呼子视图:
@Html.Action("Configure", "Payment");
Html.ActionLink("link", "Configure", new { id = x.Id })
它转到该控制器并在ConfigureMethod视图中返回actionresult(而不是partialview):
[ChildActionOnly]
public ActionResult Configure()
{
}
在“配置视图”中,我创建了如下操作链接:
@Html.Action("Configure", "Payment");
Html.ActionLink("link", "Configure", new { id = x.Id })
它应该转到该控制器:
[ChildActionOnly]
public ActionResult Configure(int Id)
{
}
然而,当编写childonly属性时,它会给出错误。当我删除此属性时,它会工作,但结果会直接出现,而不是出现在ConfigureMethod视图中
谢谢。我想指出两件事
[ChildActionOnly]
属性修饰意味着,这是操作必须返回PartialViewResult
[ChildActionOnly]
装饰,那么指向局部视图的链接也毫无意义因此,首先确定您想要的是视图还是局部视图,然后进行相应的设计。我编辑了问题,以澄清与您的帖子有关的问题。@mavera,正如您提到的Html。ActionLink(..)将生成一个链接,单击链接它将重定向到另一个页面,因此该操作不应具有[ChildAction]属性。其中,as Html.Action(…)将返回父视图上下文中的视图/局部视图。[ChildAction]表示不能直接触发该操作,但必须在父上下文中使用。