1

戻るアクションへのアクセスを拒否しようとしていますPartialViewResult; しかし、それは不可能のようです。アクションメソッドにNonAction属性のタグを付けると、ページがレンダリングされません。タグを付けないと、URLを使用してその部分ビューを取得できます。
私がこれを持っているとしましょう_Layout.cshtml

<section role="navigation">
    @Html.Partial("PageParts/Sidebar")
    @RenderSection("SidebarContents", required: false)
</section>

そしてこれはPageParts/Sidebar.cshtml

@Html.Partial("PageParts/Sidebar/Userinfo")
@{Html.RenderAction("getNavigation", "PageSemantics");}

そしてこれはPageSemanticsController.cs

public class PageSemanticsController : Controller {

    public PartialViewResult getNavigation() {
        NavigationModel nm = new NavigationModel();
        return PartialView("PageParts/Sidebar/Navigation", nm);
    }
}

そして最後にこれは~/Views/Shared/PageParts/Sidebar/Navigation.cshtml

@model NavigationModel
<nav id="main-nav">
    [... Some code to create Navigation ...]
</nav>

~/PageSemantics/getNavigationこの設定は、 URL経由でアクセスできる場合を除いて、正常に機能します。getNavigationこの設定を機能させたまま、URLを介したアクションへのアクセスを拒否する方法はありますか?

4

1 に答える 1

5

属性を入れてみてください

[ChildActionOnly]

あなたのgetNavigation()方法で

于 2012-06-02T12:59:56.837 に答える