【问题标题】:Unable to generate a custom path in ASP.NET MVC Master Pages无法在 ASP.NET MVC 母版页中生成自定义路径
【发布时间】:2009-11-18 13:56:50
【问题描述】:

我在 ASP.NET MasterPage 中工作,遇到<link href="..." /> 的问题。

我正在尝试用特定名称替换样式表:

<link href="/Content/Styles/<%=Model.Style%>.css" rel="stylesheet" type="text/css" />

不幸的是,这会创建 HTML 输出:

<link href="/Content/Styles/&lt;%=Model.Style%>.css" rel="stylesheet" type="text/css" />

这显然不是预期的。

如果我将相同的代码放在 View 占位符中,它会完美运行。这不是一个好的解决方案,因为我有很多页面我只是希望它做同样的事情。

它似乎正在尝试自动更正 URL - 有没有办法关闭它?


编辑 1:

我已经暂时解决了这个问题:

<link href=<%=String.Format("\"/Content/Styles/{0}.css\"", Model.Style)%> rel="stylesheet" type="text/css" />

【问题讨论】:

    标签: asp.net-mvc model-view-controller views master-pages


    【解决方案1】:

    如果您的网站部署在虚拟文件夹中,您的问题和迄今为止发布的解决方案中的所有链接都将失败。相反,这样做:

    <link href="<%= Url.Content("~/Content/Styles/" + Model.Style + ".css") %>" rel="stylesheet" type="text/css" />
    

    这 (1) 解决了您问题中的问题,并且 (2) 允许您的网站在虚拟文件夹中工作。

    【讨论】:

      【解决方案2】:

      试试这个:

      <link href="/Content/Styles/<%= "" + Model.Style%>.css" rel="stylesheet" type="text/css" media="screen" />
      

      丑陋但有效。

      【讨论】:

        猜你喜欢
        • 2017-12-31
        • 1970-01-01
        • 1970-01-01
        • 2012-05-20
        • 2010-09-09
        • 2010-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多