mav*_*era 3 c# action actionlink asp.net-mvc-3
我用Html.Action
方法调用了另一个视图.当用户单击操作链接时,我想使用参数在子视图内调用相同的操作.
当我写这段代码时,我收到此错误消息:
Html.ActionLink("link", "Configure", new { id = 2 })
Run Code Online (Sandbox Code Playgroud)
"配置"操作只能由子请求访问.
我该如何处理这个问题?
编辑:我将尝试重新解释问题:
我的父视图是ConfigureMethod.cshtml.我称之为儿童观点:
@Html.Action("Configure", "Payment");
Run Code Online (Sandbox Code Playgroud)
它转到此控制器并在ConfigureMethod视图中返回actionresult(而不是partialview):
[ChildActionOnly]
public ActionResult Configure()
{
}
Run Code Online (Sandbox Code Playgroud)
在配置视图中我创建了一个类似的动作链接:
Html.ActionLink("link", "Configure", new { id = x.Id })
Run Code Online (Sandbox Code Playgroud)
应该转到这个控制器:
[ChildActionOnly]
public ActionResult Configure(int Id)
{
}
Run Code Online (Sandbox Code Playgroud)
但是,当写入childonly属性时,它会给出错误.当我删除此属性时,它可以工作,但结果直接来自,而不是在ConfigureMethod视图中.
谢谢.
我想指出两件事,
子操作仅用于呈现为PartialView.所以使用[ChildActionOnly]
属性装饰意味着,这是必须返回的动作PartialViewResult
.
当我们调用ActionLink()时,它将生成一个指向View not Partial View的链接.即使你不装饰[ChildActionOnly]
,那么链接到局部视图也没有意义.
因此,首先要确定是否需要视图或部分视图,然后进行相应的设计.