怎样在Razor中使用HtmlHelper(MvcHtmlString)
1个回答
展开全部
如果你以前编写的HtmlHelper喜欢返回string而非MvcHtmlString,那么在使用Razor后要改改了。 假设原来有一个Helper调用: <%= Html.ProgressBar(tree, progress) %>而函数声明是:
public static string ProgressBar(this HtmlHelper htmlHelper, SFCProgressTree progressTree, SFCProgress progress, bool show = false){...return ImgTag.ToString()}则在新的Razor中除了在调用处改为: @Html.ProgressBar(tree, progress)
外,还需要调整 public static MvcHtmlString ProgressBar(this HtmlHelper htmlHelper, SFCProgressTree progressTree, SFCProgress progress, bool show = false)
} 原因是Razor中将所有输出的string都进行了Html编码。其实Html.ActionLink等输出的都是MvcHtmlString,不过返回string 的Helper在aspx中也可以用。但Razor中只能使用MvcHtmlString。 点击下载免费的敏捷开发教材:《火星人敏捷开发手册》
public static string ProgressBar(this HtmlHelper htmlHelper, SFCProgressTree progressTree, SFCProgress progress, bool show = false){...return ImgTag.ToString()}则在新的Razor中除了在调用处改为: @Html.ProgressBar(tree, progress)
外,还需要调整 public static MvcHtmlString ProgressBar(this HtmlHelper htmlHelper, SFCProgressTree progressTree, SFCProgress progress, bool show = false)
} 原因是Razor中将所有输出的string都进行了Html编码。其实Html.ActionLink等输出的都是MvcHtmlString,不过返回string 的Helper在aspx中也可以用。但Razor中只能使用MvcHtmlString。 点击下载免费的敏捷开发教材:《火星人敏捷开发手册》
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询