我想在我的MVC 4网站上添加一个徽标。点击该徽标后,它应该导航到主屏幕。我在 _Layout.cshtml 文件中使用以下代码来实现此目的。
<a href='<%= Url.Action("Index","Home") %>'> <img src="../Images/logo.JPG" /></a>
在Internet Explorer中,如果我点击徽标,似乎什么也没发生。但在谷歌浏览器中,我收到的错误为错误请求 - 无效网址。网址内容为
http://localhost:3347/Home/%3C%=%20Url.Action(%22Index%22,%22Home%22)%20%%3E
如果我在这里犯了任何错误,请告诉我。
答案 0 :(得分:2)
尝试
<a href='@Url.Action("Index","Home")'> <img src="../Images/logo.JPG" /></a>
或者您可以使用
<a href='/'> <img src="../Images/logo.JPG" /></a>
如果您网站的根目录是'/',即它仍然最终会转到Home / Index,如果这是RouteConfig.RegisterRoutes()
中配置的默认值。
答案 1 :(得分:1)
您的问题是它确实将链接设置为<%= Url.Action("Index","Home") %>
,而不是该调用的结果。 Razor模板不使用<%= %>
语法。请尝试以下方法:
<a href='@Url.Action("Index","Home")'> <img src="../Images/logo.JPG" /></a>
此外,在处理静态资产时,您应该使用Url.Content
,它将为您添加正确的应用程序路径前缀,这样您就不会在各种部署方案中断开链接:
<img src="@Url.Content("~/Images/logo.jpg")" />