我有一个kendoUI TabStrip小部件控件。在其中,我有两个标签:产品和支持。
这两个标签是两个不同的视图。我已经定义了这样的标签:
<div id="tabs">
<div>
<iframe src="../Products/Index"></iframe>
</div>
<div>
<iframe src="../Support/Index"></iframe>
</div>
</div>
在剧本中:
$("#tabs").kendoTabstrip({});
随后将显示各自视图页面的标签。但产品和支持页面不会直接打开。我的意思是在我输入localhost:4567/Product/Index
时在网址栏中,它不会打开页面,它只会在我们选择标签时打开。
我已经为两个控制器定义了这样的动作:
[ChildActionOnly]
public ActionResult Index()
{
return View();
}
然后当我运行主页面时,它会获得一个异常,它只会被子动作调用。当我选择标签时,它应该成为儿童行动。 我该如何纠正这个问题?我没有包括:
@Html.action("Index","Products")
如果我需要包含它,我应该在哪里添加它? 希望你理解我的问题...
答案 0 :(得分:2)
ChildActionOnly属性确保只能从视图中调用操作方法作为子方法。 action方法不需要将此属性用作子操作,但我们倾向于使用此属性来防止因用户请求而调用操作方法。定义了一个动作方法后,我们需要创建在调用动作时将呈现的内容。子行为通常与部分视图相关联,但这不是强制性的
所以改为
@Html.action("Index","Products").
你应该试试
@Html.Partial("Products").