2010-10-28 66 views
0

我希望对发送给浏览器的HTML进行编码。在我的.ASPX页面中,我可以使用<%:%>语法。在我的我尝试的HTML辅助...HTML编码自定义HTML帮手

public static string Image(this HtmlHelper helper, string imageName, string altText) 
    { 
     return helper.Encode(String.Format("<image src='/images/{0}' alt='{1}' />", imageName, altText)); 
    } 

然而,当HTML达到HTML只是显示为文本浏览器,并没有图像显示。如何从辅助方法编码HTML?

+0

你叫用<%页面上的帮助:或<%=? – Equiso 2010-10-28 15:46:39

+0

我尝试了两个。都没有工作。 – 2010-10-28 17:16:25

回答

1

删除 “helper.Encode”

public static String MyImg(this HtmlHelper helper, string imageName, string altText) { 
    return String.Format("<image src='/images/{0}' alt='{1}' />", imageName, altText); 
} 
+0

是的,试过了。因此,如果我删除helper.Encode,但在视图中使用<%:语法对字符串进行编码,我只需在网页中获取打印的HTML(与它应该显示的图像相比)。当然,使用<%=工作得很好(但不是编码)。 – 2010-11-01 12:19:32

+0

是“<%:”对返回的字符串进行编码。 你必须使用“<%=”sintax。 – 2010-11-08 11:25:47

+0

我的解决方案没问题。那么为什么不接受呢? – 2010-11-09 08:21:27