Asp.net mvc 如何在Html.ActionLink中加粗链接文本片段?
我有这个:Asp.net mvc 如何在Html.ActionLink中加粗链接文本片段?,asp.net-mvc,asp.net-mvc-2,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 2,Asp.net Mvc 3,我有这个: <li><%:Html.ActionLink(user.Email.Replace(Model.SearchString, "<b>" + Model.SearchString + "</b>"), "LoginEdit", "Admin", new { area = "Staff", webUserKey = user.WebUserKey }, null)%>, last login: <%:loginString%>&
<li><%:Html.ActionLink(user.Email.Replace(Model.SearchString, "<b>" + Model.SearchString + "</b>"), "LoginEdit", "Admin", new { area = "Staff", webUserKey = user.WebUserKey }, null)%>, last login: <%:loginString%></li>
,上次登录:
如您所见,我希望电子邮件字符串中与Model.SearchString匹配的部分以粗体显示。考虑到我的代码的上下文,我无法理解实现这一点的语法
有什么想法吗
目标如下(假设用户搜索“john”):
我认为问题在于
的输出是HTML编码的。因此,您的
标记可能已编码,您在呈现的HTML中看到的是实际标记,而不是粗体文本
如果user.Email
是受信任的值,则可以跳过对输出进行HTML编码
<li><%= Html.ActionLink(user.Email.Replace(Model.SearchString, "<b>" + Model.SearchString + "</b>"), "LoginEdit", "Admin", new { area = "Staff", webUserKey = user.WebUserKey }, null)%>, last login: <%:loginString%></li>
,上次登录:
有关更多信息,请参阅:我认为问题在于
的输出是HTML编码的。因此,您的
标记可能已编码,您在呈现的HTML中看到的是实际标记,而不是粗体文本
如果user.Email
是受信任的值,则可以跳过对输出进行HTML编码
<li><%= Html.ActionLink(user.Email.Replace(Model.SearchString, "<b>" + Model.SearchString + "</b>"), "LoginEdit", "Admin", new { area = "Staff", webUserKey = user.WebUserKey }, null)%>, last login: <%:loginString%></li>
,上次登录:
有关更多信息,请参见:每当遇到这种情况时,我都会尽量不将HTML嵌入HTML帮助程序中。此外,我认为分解代码将有助于将来的维护—您在一个函数调用中做了很多工作 我更喜欢这样做:
<li>
<a href="<%: Url.Action("LoginEdit", "Admin", new { area = "Staff", webUserKey =user.WebUserKey }) %>">
<%: user.Email.Replace(Model.SearchString, "") %>
<b><%: Model.SearchString %></b>
</a>
last login: <%: loginString %>
</li>
上次登录:
代码只需多出几行,但它使破译发生的事情变得更加容易。每当我遇到这样的情况时,我都尽量不在HTML助手中嵌入HTML。此外,我认为分解代码将有助于将来的维护—您在一个函数调用中做了很多工作 我更喜欢这样做:
<li>
<a href="<%: Url.Action("LoginEdit", "Admin", new { area = "Staff", webUserKey =user.WebUserKey }) %>">
<%: user.Email.Replace(Model.SearchString, "") %>
<b><%: Model.SearchString %></b>
</a>
last login: <%: loginString %>
</li>
上次登录:
只需再编写几行代码,但这样可以更容易地破译正在进行的操作。您能展示“最终”标记需要的外观吗?我已经发布了最终标记目标。正在呈现的实际标记是什么?您能展示“最终”标记的外观吗标记需要看起来像?我已经发布了最终的标记目标。正在呈现的实际标记是什么?如果不受信任,可以在将其传递到视图之前在ViewModel中对其进行编码。如果不受信任,可以在将其传递到视图之前在ViewModel中对其进行编码。