我正在尝试创建一个html帮助器来渲染一个按钮。作为一个例子,这需要包含 -
<button onClick="window.location='/Users/Edit/admin'">
我尝试使用TagBuilder执行此操作,但由于MergeAttribute正在编码html,因此遇到了问题。
e.g。
buttonBuilder.MergeAttribute(“onClick”,“window.location ='”+ url.Action(action,controller,routeValues));
给了我 -
<button onClick="window.location='/Users/Edit/admin">
有没有办法可以做到这一点,所以它没有被编码?或者我应该使用TagBuilder以外的其他方法吗?
答案 0 :(得分:2)
- EDITED
我差点忘了,使用HtmlDecode:
public static class ButtonHelper
{
public static IHtmlString Button(this HtmlHelper html)
{
TagBuilder button = new TagBuilder("button");
button.MergeAttribute("onClick", "window.location='/Users/Edit/admin'");
return new HtmlString(System.Web.HttpUtility.HtmlDecode(button.ToString()));
}
}