首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >停止标记构建器转义单引号ASP.NET MVC 2

停止标记构建器转义单引号ASP.NET MVC 2
EN

Stack Overflow用户
提问于 2010-10-13 22:39:58
回答 4查看 7.5K关注 0票数 16

我有以下HtmlHelper方法,我想要创建一个使用JavaScript执行重定向的按钮:

public static string JavaScriptButton(this HtmlHelper helper, string value,
                        string action, string controller, object routeValues = null, object htmlAttributes = null)
{
    var a = (new UrlHelper(helper.ViewContext.RequestContext))
                            .Action(action, controller, routeValues);

    var builder = new TagBuilder("input");
    builder.Attributes.Add("type", "submit");
    builder.Attributes.Add("value", value);
    builder.Attributes.Add("class", "button");
    builder.Attributes.Add("onclick", string.Format("javascript:location.href='{0}'", a));
    builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));

    return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing)).ToString();         
}

问题是创建onclick处理程序的代码行被标记构建器转义,得到的html是:

<input class="button" onclick="javascript:location.href=&#39;&#39;" type="submit" value="Return to All Audits" />

有什么办法可以让我停止这种行为吗?

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

https://stackoverflow.com/questions/3924861

复制
相关文章

相似问题

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