【问题标题】:Html.ActionLink() not displaying correctlyHtml.ActionLink() 无法正确显示
【发布时间】:2014-11-26 21:09:55
【问题描述】:

我正在与 Visual Studio 合作,为一个班级项目构建一个书店网站,但我无法让我的字符串进行编码。

我基本上打印出特定书籍详细信息的链接

@Html.ActionLink(@Html.DisplayFor(modelItem => item.Title).ToString(), "Details", new { id = item.BookID })

将书名(直接从数据库中提取)包含为应该显示文本的参数。

@Html.DisplayFor(modelItem => item.Title).ToString()

但问题是我在前端的输出看起来像这样

我该如何克服这个问题?

我尝试解码为字节然后重新编码,但无济于事。

任何帮助将不胜感激!

谢谢!

【问题讨论】:

    标签: c# string view encoding asp.net-mvc-5


    【解决方案1】:

    当你这样做时你会得到什么?

    @Html.ActionLink(item.Title, "Details", new { id = item.BookID })
    

    【讨论】:

      【解决方案2】:

      更改 Title 的属性以返回 HtmlString,因为您的标题似乎已经被 html 编码。

      【讨论】:

      • 标题实际上是从数据库中的一个字段中提取的。数据类型是 varchar,所以我不认为有任何问题。
      • 如果文本已经包含转义字符,则基本上是对它们进行双重转义。验证文本在数据库中的存储方式。
      • 文本通过存储过程进入数据库,在数据库中它似乎有单引号。但是当它被吐出来时,它并没有出现这种情况。我相信这与 tostring()-ing 它有关。必须有某种方法才能在不使用 html.actionlink 方法的情况下仍然显示链接。因为我认为这是我的问题。
      猜你喜欢
      • 2014-04-23
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多