0

外部 API を呼び出して特定の都市と州の店舗のリストを取得するサーフェス コントローラーがあります。問題は、その呼び出しから返されたデータを使用する必要があることです。

<title></title>

私のマスターテンプレートの頭に存在します。私が知る限り、部分ビューからマスター テンプレートにデータを渡す方法はありません。私は困惑しています。

ViewBag を使用してみましたが、部分ビューが値を設定する前に頭がレンダリングされ、null になります。

テンプレート:

<head>
    <title>ViewBag.Title</title>
</head>
<body>    
    <div class="main foreground container">
            <h1>@CurrentPage.title</h1>
            @CurrentPage.mainColumn

            @Html.Action( "StoreDirectory", "Locations" )

    </div>
</body>

部分図:

@model Fromm.Web.Consumer.Models.StoreDirectoryModel
@using Fromm.Model;

@{
    ViewBag.Title = @Model.Title;
}
4

1 に答える 1

0

プレーン MVC を使用しているときにテンプレートから ChildAction を呼び出すと同じ問題が発生するため、これは実際には umbraco 関連ではありません。

これを解決する唯一の方法は、完全なテンプレートに surfaceController ではなくMvcRenderControllerを使用することです。

次に...マスタードキュメントでタイトルタグが指定されている場合、セクションを使用してテンプレートでオーバーライド可能にします。

@if (IsSectionDefined("metaTitleTag"))
{
    @RenderSection("metaTitleTag", required: true)
}
else
{
    <title>@Model.Name</title>
}
于 2014-07-21T12:12:31.997 に答える