gpt4 book ai didi

html - 如何在 HTML 中为 View 模型字符串属性显示撇号

转载 作者:行者123 更新时间:2023-11-27 23:35:25 25 4
gpt4 key购买 nike

我的 View 使用布局模板在每个页面的顶部显示客户的姓名。这工作正常,除非为 name 属性分配了一个包含撇号的值。该 View 显示撇号的 ascii 代码而不是实际的撇号。例如:

如果客户端的名称设置为“Client's Name”, View 将名称呈现为“Client's Name”而不是“Client's Name”

布局模板代码:

    @helper ClientName()
{
if (Session["CurrentClient"] != null)
{
@(((ClientModel)Session["CurrentClient"]).Name);
}
else
{
@String.Format("{0}", "None");
}
}

@Html.ActionLink("Client[" + @ClientName().ToString() + "]", "Index", "Home", null, new { @class = "navbar-brand" })

如何将字符串值转换为 HTML 以便显示撇号?

最佳答案

根据 this answer ActionLink 对传入的内容进行编码。因此,它被双重编码。

检查 @ClientName().ToString() 的值,它可能已经被编码,因为 helpers 默认对它们的输出进行编码;您可能需要取消编码,或者不通过您的助手对其进行编码。

一个解决方案是让你的助手 not escape its content

@{ WriteLiteral(((ClientModel)Session["CurrentClient"]).Name); }

@Html.Raw(((ClientModel)Session["CurrentClient"]).Name))

如果你must un-encode the results @ClientName().ToString(),使用

@Html.ActionLink(
"Client[" +
HttpUtility.HtmlDecode(@ClientName().ToString()) +
"]",
"Index", "Home")

关于html - 如何在 HTML 中为 View 模型字符串属性显示撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34023870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com