Il n’y a pas de @ Html.Button!

c’est bizarre. Je vois des références là-bas pour @ Html.Button () mais quand je tape que Intellisense ne trouve pas un tel assistant … il y a dropdownlist, hidden, editors, et cetera, mais pas de bouton!

quoi de neuf avec ça?

public static class HtmlButtonExtension { public static MvcHtmlSsortingng Button(this HtmlHelper helper, ssortingng innerHtml, object htmlAtsortingbutes) { return Button(helper, innerHtml, HtmlHelper.AnonymousObjectToHtmlAtsortingbutes(htmlAtsortingbutes) ); } public static MvcHtmlSsortingng Button(this HtmlHelper helper, ssortingng innerHtml, IDictionary htmlAtsortingbutes) { var builder = new TagBuilder("button"); builder.InnerHtml = innerHtml; builder.MergeAtsortingbutes(htmlAtsortingbutes); return MvcHtmlSsortingng.Create(builder.ToSsortingng()); } } 

Il n’y a pas de bouton assistant à partir de l’aperçu mvc 3 (pas mvc3)

Il a été mentionné un groupe dans le passé par exemple: http://blog.wekeroad.com/blog/aspnet-mvc-preview-using-the-mvc-ui-helpers/ mais rouler le vôtre est sortingvial – j’ai une base pour cela quelque part par ici je vais devoir le creuser, mais essentiellement créer juste un nouveau Html.ButtonFor et copier le code source à partir de Html.LabelFor et changer la sortie pour créer une balise input type = “button”.

Pour développer la réponse acceptée , vous pouvez lier un bouton d’envoi à une propriété de modèle mais avoir un texte différent:

 @Html.ButtonFor(m => m.Action, Model.LabelForCurrentAction(), new { @class = "btn btn-primary btn-large", type = "submit" }) 

En utilisant la classe d’aide Button légèrement modifiée suivante:

 ///  /// Via https://stackoverflow.com/questions/5955571/theres-no-html-button ///  public static class HtmlButtonExtension { public static MvcHtmlSsortingng Button(this HtmlHelper helper, object innerHtml, object htmlAtsortingbutes) { return helper.Button(innerHtml, HtmlHelper.AnonymousObjectToHtmlAtsortingbutes(htmlAtsortingbutes)); } public static MvcHtmlSsortingng Button(this HtmlHelper helper, object innerHtml, IDictionary htmlAtsortingbutes) { var builder = new TagBuilder("button") { InnerHtml = innerHtml.ToSsortingng() }; builder.MergeAtsortingbutes(htmlAtsortingbutes); return MvcHtmlSsortingng.Create(builder.ToSsortingng()); } public static MvcHtmlSsortingng ButtonFor(this HtmlHelper html, Expression> property, object innerHtml, object htmlAtsortingbutes) { // lazily based on TextAreaFor var attrs = HtmlHelper.AnonymousObjectToHtmlAtsortingbutes(htmlAtsortingbutes); var name = ExpressionHelper.GetExpressionText(property); var metadata = ModelMetadata.FromLambdaExpression(property, html.ViewData); ssortingng fullName = html.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(name); ModelState modelState; if (html.ViewData.ModelState.TryGetValue(fullName, out modelState) && modelState.Errors.Count > 0) { if( !attrs.ContainsKey("class") ) attrs["class"] = ssortingng.Empty; attrs["class"] += " " + HtmlHelper.ValidationInputCssClassName; attrs["class"] = attrs["class"].ToSsortingng().Trim(); } var validation = html.GetUnobtrusiveValidationAtsortingbutes(name, metadata); if(null != validation) foreach(var v in validation) attrs.Add(v.Key, v.Value); ssortingng value; if (modelState != null && modelState.Value != null) { value = modelState.Value.AttemptedValue; } else if (metadata.Model != null) { value = metadata.Model.ToSsortingng(); } else { value = Ssortingng.Empty; } attrs["name"] = name; attrs["Value"] = value; return html.Button(innerHtml, attrs); } } 

MVC5, Bootstrap ver 3.2.0

 @Html.ActionLink ( linkText: " Remove", actionName: "Index", routeValues: null, // or to pass some value -> routeValues: new { id = 1 }, htmlAtsortingbutes: new { @class = "btn btn-success btn-sm glyphicon glyphicon-remove" } ) 

Cela générera un lien qui ressemble à un bouton.

Razor ne semble pas avoir un assistant HTML “Button”. Vous trouvez probablement des références à une extension d’assistance HTML personnalisée.

Voir ici: http://www.asp.net/mvc/tutorials/creating-custom-html-helpers-cs