停止代码构建器转义单引号ASP.NET MVC 2
发布时间:2020-05-23 18:22:29 所属栏目:asp.Net 来源:互联网
导读:我有以下HtmlHelper方法,我想创建一个使用JavaScript重定向的按钮: public static string JavaScriptButton(this HtmlHelper helper, string value, string action, string controller, object routeValues = nu
|
我有以下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处理程序的行正在被tagbuilder转义,结果是html是: <input class="button" onclick="javascript:location.href=''" type="submit" value="Return to All Audits" /> 有没有办法停止这种行为? 解决方法这实际上是.NET 4.0的一个问题。要修复它,您需要覆盖属性编码过程。public class HtmlAttributeNoEncoding : System.Web.Util.HttpEncoder
{
protected override void HtmlAttributeEncode(string value,System.IO.TextWriter output)
{
output.Write(value);
}
}
然后将其放在您的web.config文件的< system.web>元件: <httpRuntime encoderType="HtmlAttributeNoEncoding"/> 我发现这个here。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在ASP.NET MVC中使用ASP.NET Web窗体UserCo
- 你使用ASP.NET MVC Action方法做了什么聪明的事情
- asp.net-mvc – 部署后不显示捆绑的css … ASP.NET MVC4
- asp.net-mvc – 将viewdata传递给asp.net mvc masterpages
- asp.net – 忽略在IIS中为代码400(错误请求)配置的自定义错
- 模型 – 视图 – 控制器 – ASP.NET WebForms vs MVC [VS20
- asp.net-mvc – 当在视图中使用ko时,ko.applyBindings给出错
- 为什么我得到“线程被中止”在asp.net?
- ASP.Net会话超时检测:Session.IsNewSession和SessionCooki
- ASP.NET:如何检测身份验证超时
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC获取上次添加记录的I
- asp.net-mvc – 是否有任何基于ASP.NET MVC订阅的
- asp.net-mvc – ASP.NET MVC – Html.DropDownLi
- asp.net – MVC5(VS2012)Identity CreateIdentit
- asp.net – CSS中的内联样式与样式
- asp.net-mvc-5 – 什么是XsrfKey用于,我应该将Xs
- asp.net-mvc-5 – 如何在服务器上保存Rotativa P
- asp.net – 如何使用jquery“jsonp”调用外部Web
- asp.net-mvc – 什么是Owin rememberBrowser做什
- 如何添加自定义属性到ASP.NET控件
热点阅读
