Diese Erweiterungsmethoden rendern Buttons die zur angegebenen URL bzw. Action/Controller führen.
Der Aufruf erfolgt wie gewohnt über die @Html-Eigenschaft und den jeweiligen Methoden Namen mit Parametern.
Benötigte Namespaces
System.Text
System.Web.Mvc
/// <summary>
/// Rendert ein <input>-Element Button der mittels JavaScript zur angegebenen Action navigiert.
/// </summary>
/// <param name="helper">Eine <see cref="System.Web.Mvc.HtmlHelper"/>-Instanz.</param>
/// <param name="content">Der anzuzeigende Inhalt in dem Button.</param>
/// <param name="actionName">Der Name der Action zu der navigiert werden soll.</param>
/// <returns>Ein HTML-String.</returns>
public static MvcHtmlString ActionButton(this HtmlHelper helper, string content, string actionName)
{
var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
return LinkButton(helper, content, urlHelper.Action(actionName));
}
/// <summary>
/// Rendert ein <input>-Element Button der mittels JavaScript zur angegebenen Action in dem angegebenen Controller navigiert.
/// </summary>
/// <param name="helper">Eine <see cref="System.Web.Mvc.HtmlHelper"/>-Instanz.</param>
/// <param name="content">Der anzuzeigende Inhalt in dem Button.</param>
/// <param name="actionName">Der Name der Action zu der navigiert werden soll.</param>
/// <param name="controllerName">Der Controller in dem die Action liegt zu der navigiert werden soll.</param>
/// <returns>Ein HTML-String.</returns>
public static MvcHtmlString ActionButton(this HtmlHelper helper, string content, string actionName, string controllerName)
{
var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
return LinkButton(helper, content, urlHelper.Action(actionName, controllerName));
}
/// <summary>
/// Rendert ein <input>-Element Button der mittels JavaScript zur angegebenen URL navigiert.
/// </summary>
/// <param name="helper">Eine <see cref="System.Web.Mvc.HtmlHelper"/>-Instanz.</param>
/// <param name="content">Der anzuzeigende Inhalt in dem Button.</param>
/// <param name="url">Die URL zu der navigiert werden soll.</param>
/// <returns>Ein HTML-String.</returns>
public static MvcHtmlString LinkButton(this HtmlHelper helper, string content, string url)
{
var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
var sb = new StringBuilder();
sb.Append("<input type=\"button\" onclick=\"window.location.href='");
sb.Append(urlHelper.Content(url));
sb.Append("';\" value=\"");
sb.Append(content);
sb.Append("\"/>");
return new MvcHtmlString(sb.ToString());
}
Kommentare zum Snippet