Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I could not reproduce this. I had to simplify your code and make some assumptions. But the following worked fine for me.</p> <p>_Layout.cshtml</p> <pre><code>@using MyProject.Helpers &lt;title&gt;@ViewBag.Title&lt;/title&gt; @Html.RenderAssetStyles() @Html.RenderAssetScripts() @RenderBody() </code></pre> <p>View.cshtml</p> <pre><code>@using MyProject.Helpers @{ ViewBag.Title = "View"; Html.RequireAssets(Asset.Grid, Asset.FileUpload); Layout = "~/Views/Shared/_Layout.cshtml"; } </code></pre> <p>Helpers.cs</p> <pre><code>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MyProject.Helpers { public enum Asset { Grid=1, FileUpload=2 } public static class Helper { public static void RequireAssets(this HtmlHelper helper, params Asset[] assets) { var alreadyRequired = helper.ViewData["RequiredAssets"] as List&lt;Asset&gt;; if (alreadyRequired == null) { alreadyRequired = new List&lt;Asset&gt;(); helper.ViewData.Add("RequiredAssets", alreadyRequired); } foreach (var asset in assets.Where(anAsset =&gt; !alreadyRequired.Contains(anAsset))) alreadyRequired.Add(asset); } // Used in the layout view public static MvcHtmlString RenderAssetStyles(this HtmlHelper helper) { var requiredAssets = helper.ViewData["RequiredAssets"] as List&lt;Asset&gt;; return requiredAssets == null ? null : MvcHtmlString.Create("Test Style"); } public static MvcHtmlString RenderAssetScripts(this HtmlHelper helper) { var requiredAssets = helper.ViewData["RequiredAssets"] as List&lt;Asset&gt;; return requiredAssets == null ? null : MvcHtmlString.Create("Test Script"); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload