【发布时间】:2015-04-15 10:18:41
【问题描述】:
我在扩展 HtmlHelper 类以呈现图像标签时遇到问题
我刚刚写了这段代码
namespace Mace_CrmSystem
{
public static class ExtendedHelper
{
public static TagBuilder HaidarImage(this HtmlHelper instance, string src) {
TagBuilder inst = new TagBuilder("img");
inst.MergeAttribute("src", src);
return inst;
}
}
}
在索引视图中我写了这段代码
@Html.HaidarImage("http://haidar.ws/wp-content/uploads/2014/07/ipaduse.jpg");
但问题是,当视图渲染标签时,它不会将其渲染为 Hrml 标签,而是将其渲染为普通文本,因此结果是这样的
<img src="http://haidar.ws/wp-content/uploads/2014/07/ipaduse.jpg"></img>;
另一个问题是我试图在 web.config 页面中添加命名空间,以便在所有页面上都可用,但智能感知不会显示扩展方法,直到我在视图页面本身明确声明它。
所以请谁能帮我解决我的问题。
【问题讨论】:
-
将方法改为
public static MvcHtmlString HaidarImage(..)并添加return MvcHtmlString.Create(inst.ToString());
标签: c# asp.net asp.net-mvc asp.net-mvc-4