首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成的URL中出现Microsoft.Web.Helpers Gravatar错误

生成的URL中出现Microsoft.Web.Helpers Gravatar错误
EN

Stack Overflow用户
提问于 2010-11-22 17:25:27
回答 2查看 607关注 0票数 0

我像这样使用来自Microsoft.Web.Helpers的Gravatar helper类

代码语言:javascript
复制
<%: Gravatar.GetHtml("me@domain.com", 80, "identicon") %>

它在源代码中产生

代码语言:javascript
复制
<img src="http://www.gravatar.com/avatar/0ff2e377be7d73b15f0b48022a755717?s=80&amp;d=identicon" alt="gravatar" />

图片地址是有效的,但是它不应该是&amp;d=identicon而是&d=identicon吗?它似乎已经编码了&符号。这在使用Gravatar.GetUrl()时也是一样的

我怎样才能在不重写我自己的版本的情况下停止它对&符号的编码呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-22 17:26:25

代码语言:javascript
复制
<%:Gravatar.GetHtml("me@domain.com", 80, "identicon") %>

您告诉它对输出进行编码,":“是对此的速记。如果不想对输出进行编码,请执行以下操作

代码语言:javascript
复制
<%=Gravatar.GetHtml("me@domain.com", 80, "identicon") %>

据我所知,":“是通过Html.Encode()输出的缩写。

=========Edit

帮助器正在做的是正确的,它应该是编码的与符号,更多信息在下面的链接

XHTML and & (Ampersand) encoding

票数 3
EN

Stack Overflow用户

发布于 2010-12-07 05:45:51

在代码中(比如在控制器操作中...而不是在*.aspx或*.cshtml标记中),当我这样做时:

代码语言:javascript
复制
var avatarUrl = Gravatar.GetUrl("someone@somewhere.com", defaultImage: "identicon");

这将返回以下字符串:

代码语言:javascript
复制
http://www.gravatar.com/avatar/923d10bc97028030e8e67e7db62658d1?s=80&amp;d=identicon

注意编码的与号(&),其中不应该有任何编码。我认为这并没有像预期的那样工作。之所以重要,是因为我们得到的不是我们想要的identicon (或gravatar),而是我们不想要的默认gravatar标志( identicon回退的全部要点)。请记住,这是从控制器完成的,除了视图标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4243935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档