asp.net
  • asp.net-mvc-2
  • 2010-10-19 6 views 0 likes 
    0

    Je souhaite retourner la sortie suivanteen utilisant Html.ActionLink mais pas le codage html

    <a href="#"><img src="/images/icons/tick.png" alt="" />More info</a> 
    

    Si je fais ce qui suit est le contenu html codé.

    <%= Html.ActionLink("<img src='/images/icons/tick.png' />More info", "OrderRegion", "Campaign", new {id = Model.Campaign.Id}, null) %> 
    

    Comment puis-je désactiver le codage html?

    +0

    Votre code ne correspond pas à votre production. Votre sortie n'utilise que «#» pour l'URL alors que votre code implique que vous voulez une URL pour une action. – RedFilter

    Répondre

    3

    vous pouvez créer un HtmlHelper à ce

    public static class HtmlHelpers 
    { 
        public static string MyActionLink(this HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes) 
        { 
         var tagActionLink = htmlHelper.ActionLink("[replace]", actionName, controllerName, routeValues, htmlAttributes).ToHtmlString(); 
         return tagActionLink.Replace("[replace]", linkText); 
        } 
    } 
    

    à .aspx:

    <%= Html.MyActionLink("<img src='/images/icons/tick.png' />More info", "OrderRegion", "Campaign", new {id = 15}, null) %> 
    
    +0

    Vous devriez utiliser un 'TagBuilder'. – SLaks

    +1

    Est-il possible de faire quelque chose comme ça, mais en utilisant un Ajax.ActionLink? – CallumVass

    +0

    Si vous ne parvenez pas à trouver la méthode ActionLink dans la classe HtmlHelper, il s'agit d'une méthode d'extension qui peut être trouvée en ajoutant une instruction 'using System.Web.Mvc.Html;' –

    6

    Je pense que vous feriez mieux d'utiliser Url.Action ici, par exemple:

    <a href="<%= Url.Action("OrderRegion", "Campaign", new {id = Model.Campaign.Id}) %>"> 
        <img src="/images/icons/tick.png" alt="" />More info 
    </a> 
    
    0

    Si vous sont la construction d'un MvcHtmlString et que vous voulez inclure un chemin absolu de style helper, vous pouvez utiliserEnsuite, ajoutez le texte de votre lien, le contrôleur et les actions aux langages/entées de fantaisie comme littéraux de chaîne dans la construction MvcHtmlString.

    Questions connexes