У меня есть следующий метод 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, получает escape-код от tagbuilder, получившийся html:
<input class="button" onclick="javascript:location.href=''" type="submit" value="Return to All Audits" />
В любом случае я могу остановить это поведение?