在ASP.Net MVC中使用URL.Content时出错

时间:2011-02-27 22:50:09

标签: asp.net-mvc

我有以下用剃刀编写的ASP.NET MVC页面:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <title>SelectorTests</title>
    <link href="@{ Url.Content("~/Content/themes/base/jquery-ui.css"); }" rel="stylesheet" type="text/css" />
    <script src="@{ Url.Content("~/Scripts/jquery-1.4.4.min.js"); }" type="text/javascript"></script>
    <script src="@{ Url.Content("~/Scripts/jquery-ui.min.js"); }" type="text/javascript"></script>

    <script type="text/javascript">
        $(function () {
            $('h1').css('background-color', 'purple');
        });        
    </script>
</head>
<body>
    <div>
        <h1>My Header</h1>
        foobar
    </div>
</body>
</html>

URL.Content无法正常工作。当我在FF中执行查看源时,相关的行返回

<link href="" rel="stylesheet" type="text/css" />
<script src="" type="text/javascript"></script>
<script src="" type="text/javascript"></script>

请协助。

2 个答案:

答案 0 :(得分:8)

当你不需要时,你会使用花括号。

<link href="@{ Url.Content("~/Content/themes/base/jquery-ui.css"); }" rel="stylesheet" type="text/css" />

应该是:

<link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="stylesheet" type="text/css" />

当没有返回值时,您只需要在花括号中包装代码。例如,如果您要声明变量。您不需要花括号来输出变量的内容。

@{
    var foo = "bar";
}
<p>@foo</p>

答案 1 :(得分:1)

尝试以下

<link href="@Url.Content("~/Content/themes/base/jquery-ui.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>