ASP.NET MVC 3:Html.Action上的堆栈溢出?

Zac*_*ott 2 asp.net-mvc-3

根据定义,我不得不发布这个问题.我使用ASP.NET MVC 3和ASPX表单在这一行收到错误.哪里是我的错字?

<a href="<%= Html.Action("About", "Home") %>">
<img src="<%= Url.Content("~/Content/images/newfront_04.jpg") %>" /></a>
Run Code Online (Sandbox Code Playgroud)

StackOverflowException

我创建了一个空白项目进行比较:

  • Web Config相同,减去连接字符串(包括Views web.config)
  • 包含路由的Global.asax.cs相同,减去命名空间
  • Page指令是完全相同的
  • Home Controller代码相同,减去命名空间
  • 把这条线拿出去会让一切顺利
  • 除了page指令和ContentPlaceHolders之外,整个页面都是html
  • 这是Site.Master文件

And*_*ber 7

Html.Action实际上是在你放置代码的地方渲染该动作,并且它会导致那里的重入.那就是:它调用整个动作并输出结果视图......不输出URL.

你可能想要的是Html.ActionLink(它为你呈现整个A标签),而不是Url.Action,只输出URL而不是动作结果.