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

Joh*_*ohn 2 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>
Run Code Online (Sandbox Code Playgroud)

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

<link href="" rel="stylesheet" type="text/css" />
<script src="" type="text/javascript"></script>
<script src="" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

请协助.

kim*_*3er 8

你没有必要使用花括号.

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

应该:

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

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

@{
    var foo = "bar";
}
<p>@foo</p>
Run Code Online (Sandbox Code Playgroud)

丰富