【问题标题】:Html.ActionLink not rendering correctlyHtml.ActionLink 未正确呈现
【发布时间】:2012-07-07 01:31:58
【问题描述】:

当我尝试在 razor 中渲染动作链接时,它出现的很奇怪。

例如,当我执行以下操作时:

@Html.ActionLink("Edit", "Edit", "Sites", new {itm.Id}, null)

在屏幕上,我得到的链接如下所示:

Edit (/Sites/Edit/1)

在 HTML 中,它只是如下所示:

<a href="/Sites/Edit/1">Edit</a>

这就像一场噩梦。我不知道这垃圾是从哪里来的。它也在 Firefox 中执行(我通常使用 Chrome)。有趣的是,您无法选择显示的文本。我以前从未见过这个问题,除了 url 路径之外,该文本甚至不在页面中。

【问题讨论】:

  • 你使用任何浏览器插件或异国情调的js库或jquery插件吗?或者一些 asp.net mvc 工具:比如 Glimpse、MvcProfiler 等?
  • 我尝试禁用浏览器中的所有扩展。它还在做。

标签: asp.net asp.net-mvc


【解决方案1】:

好的,这对我来说既好又愚蠢。我在这些页面上使用 BluePrint.css。出于某种原因,蓝图样式表的打印版本正在输出到页面。这将通过文本打印出超链接,如下所示: a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}

我什至不知道你可以用 css 做到这一点。感谢大家的帮助。

【讨论】:

    【解决方案2】:

    试试这个

    @Html.ActionLink("Edit", "Edit", "Sites", new { @id=itm.Id }, null)
    

    【讨论】:

    • @WillGant:清除浏览器缓存?您是否在某处覆盖了 ActionLink 辅助方法?
    • 我尝试清除它,仍然没有运气。我没有覆盖 ActionLink。令我印象深刻的是文本不在服务器发送的 HTML 文档中。让我想知道是否有一些 javascript 或其他东西把我弄乱了。
    • @WillGant 基于我的症状我的赌注也是一些客户端javascript代码弄乱了你的链接。用浏览器的开发者工具查看加载了哪些脚本,也许你会看到一些线索...
    猜你喜欢
    • 1970-01-01
    • 2010-09-13
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多