动态加载css文件?里面的代码

发布于 2024-10-13 22:24:28 字数 1257 浏览 3 评论 0原文

我的 中有以下代码

<% if(Context.User.IsInRole("Reseller")) {%>
<link href="<%: themelocation %>" rel="stylesheet" type="text/css" />
<%} else {%>
<link href="<%= Url.Content("~/Content/custom-theme/jquery-ui-1.8.5.custom.css") %>" rel="stylesheet" type="text/css" />
<%} %>

问题在于 themelocation,它是在该代码块上方声明的 - 就像这样:

<%
    var reseller = new Reseller();
    var storeSettings = new StoreSettings();
    var themelocation = "";
    if (Context.User.Identity.IsAuthenticated)
    {
        var resellerRepository = new ResellerRepository();
        reseller = resellerRepository.GetResellerByUsername(Context.User.Identity.Name);

        var storeSettingsRepository = new StoreSettingsRepository();
        storeSettings = storeSettingsRepository.GetStoreSettings((int) reseller.StoreSettingsID);

        themelocation = storeSettings.Theme.StylesheetLocation;
    }
%> 

设置断点显示 themelocation 包含我需要的字符串,但是当页面运行时 - 它会生成 400 - Bad Request 错误,并且 firebug 中的 net 选项卡显示它正在寻找:

http://localhost:50982/%3C%:%20themelocation%20%%3E

我在这里哪里出错了?为什么它使用变量名称,而不是它包含的内容?

我正在使用 ASP.NET MVC2,所有这些代码都位于我的母版页上。

I have the following code in my <head>

<% if(Context.User.IsInRole("Reseller")) {%>
<link href="<%: themelocation %>" rel="stylesheet" type="text/css" />
<%} else {%>
<link href="<%= Url.Content("~/Content/custom-theme/jquery-ui-1.8.5.custom.css") %>" rel="stylesheet" type="text/css" />
<%} %>

The issue is with themelocation, which is declared just above this block of code - like so:

<%
    var reseller = new Reseller();
    var storeSettings = new StoreSettings();
    var themelocation = "";
    if (Context.User.Identity.IsAuthenticated)
    {
        var resellerRepository = new ResellerRepository();
        reseller = resellerRepository.GetResellerByUsername(Context.User.Identity.Name);

        var storeSettingsRepository = new StoreSettingsRepository();
        storeSettings = storeSettingsRepository.GetStoreSettings((int) reseller.StoreSettingsID);

        themelocation = storeSettings.Theme.StylesheetLocation;
    }
%> 

Setting a break point shows that themelocation holds the string I need, but when the page is run - it generates a 400 - Bad Request error, and the net tab in firebug reveals its looking for this:

http://localhost:50982/%3C%:%20themelocation%20%%3E

Where am I going wrong here? Why is it using the variable name, and not what it contains?

I'm using ASP.NET MVC2, and all of this code is located on my master page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-10-20 22:24:28

我按照 Artem K. 的建议进行操作,并从 中删除了 runat='server' 并且代码正确执行。

I did what Artem K. suggested and removed runat='server' from the and the code executed properly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文