2009-06-19 111 views
3

出于某种原因,当我尝试在新创建的asp中的默认主页面(Site.Master)内使用Page.ResolveURL或Url.Content时,出现运行时异常。网络mvc应用程序。这很奇怪,因为我一直在.NET中使用ResolveURL helper函数多年没有问题。这里是我的代码片段:ASP.NET MVC中Url.Content的问题

<link href="<%= Url.Content("~/css/style.css"); %>" rel="stylesheet" type="text/css" /> 

这里是在同样的线路发生运行时错误:

Compiler Error Message: CS1026:) expected 

如果我改变了HREF为静态URL,一切都很好。此外,这是一个全新的ASP.NET mvc项目....这是我改变的第一行代码。

回答

6

删除分号

+0

谢谢!我感觉这很简单。到目前为止,我从来没有使用过scriplets(<% %>),因为我一直把这些东西放在代码后面。 – smercer 2009-06-19 14:22:21

1

从最后删除分号。有些MVC帮助程序方法返回字符串,在这种情况下,它们应该出现在<%= %>标签之间。当使用返回值的帮助器方法时,可以将分号从结尾处关闭。

其他帮助程序方法不会返回任何内容(例如,Html.RenderPartial),在这种情况下,您使用<% %>标记,并在此处使用分号结束代码表达式。