Feedback

C# - MVC: Link-Button erstellen

Veröffentlicht von am 06.07.2015
(0 Bewertungen)
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
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

/// <summary>
/// Rendert ein &lt;input&gt;-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 &lt;input&gt;-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 &lt;input&gt;-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());
}
Abgelegt unter MVC, Button, Linq, Erweiterungsmethode, Extension.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!