0

kendoUI TabStrip ウィジェット コントロールを使用しています。その中に、製品とサポートの 2 つのタブがあります。

2 つのタブは、2 つの異なるビューです。私はこのようにタブストリップを定義しました:

<div id="tabs">
    <div>
        <iframe src="../Products/Index"></iframe>
    </div>
    <div>
         <iframe src="../Support/Index"></iframe>
    </div>                      
</div>

そしてスクリプトで:

$("#tabs").kendoTabstrip({});

次に、それぞれのビュー ページを含むタブが表示されます。ただし、製品とサポートのページは直接開きません。を入力すると URL バーにlocalhost:4567/Product/Index表示されますが、ページは開かれず、タブを選択したときにのみ開きます。

私は両方のコントローラーにそのようなアクションを定義しました:

[ChildActionOnly]
public ActionResult Index()
{
     return View();
}

次に、メイン ページを実行すると、子アクションによってのみ呼び出される例外が発生します。タブを選択すると、子アクションになるはずです。どうすればその問題を修正できますか? 私は含まれていません:

@Html.action("Index","Products")

それを含める必要がある場合、どこに追加すればよいですか? 私の質問を理解していただければ幸いです...

4

1 に答える 1

2

ChildActionOnly 属性は、アクション メソッドがビュー内から子メソッドとしてのみ呼び出されることを保証します。アクション メソッドは、子アクションとして使用するためにこの属性を持つ必要はありませんが、ユーザー リクエストの結果としてアクション メソッドが呼び出されるのを防ぐために、この属性を使用する傾向があります。アクション メソッドを定義したら、アクションが呼び出されたときにレンダリングされるものを作成する必要があります。子アクションは通常、部分ビューに関連付けられますが、これは必須ではありません

だから代わりに

 @Html.action("Index","Products").

試してみてください

@Html.Partial("Products").
于 2012-12-11T08:02:19.613 に答える