2011-09-10 4 views
0

Je travaille avec ASP.net MVC3, quelqu'un peut me dire s'il vous plaît comment je peux ajouter une classe CSS à un Html.Action (de @). Je l'ai fait ce qui suit, mais il ne fonctionne pas:Appliquer CSS à Html.Action()

@Html.Action("ProductEmailAFriendButton", "Catalog", new { productId = Model.Id, @class="test" }) 

je serais grandement apprécier toute aide.

Merci.

Ciwan.

+5

'@ Html.Action' rend une action enfant pas un lien hypertexte. Vous devez utiliser '@ Html.ActionLink' pour générer un lien hypertexte – Eranga

Répondre

4
@Html.ActionLink("ProductEmailAFriendButton", "Catalog", new { productId = Model.Id},new{@class="test",@id="someid", @style="background:none #fff";}) 

fournissent la classe au 4ème argument de dire htmlAttributes, espérons que vous aurez l'idée

2

Etes-vous sûr que vous ne voulez pas ActionLink? Action() ne peut pas avoir d'attributs Html appliqués car il restitue votre action et renvoie une représentation de chaîne. En outre, vous mélangez des valeurs de route et des attributs HTML dans votre code. Je pense que ci-dessous est ce que vous cherchez. Il rend un lien vers une action:

@Html.ActionLink("ProductEmailAFriendButton", "Catalog", new { productId = Model.Id }, new { @class="test" }) 

Si Html.Action est ce que vous aviez l'intention (vous voulez rendre physiquement l'action à une chaîne) et que vous souhaitez appliquer une classe CSS pour le conteneur parent de la vue rendue alors vous pourriez faire quelque chose de semblable à ci-dessous:

<div class="test">@Html.Action("ProductEmailAFriendButton", "Catalog", new { productId = Model.Id })</div> 
+0

Merci Ryan. Tu as raison ! Html.Action() ne peut pas être appliqué à CSS! Voici ce qu'il me donnait: http://i52.tinypic.com/11w3eh2.jpg Html.Action obtenait une vue partielle. Je devais me rendre à la vue partielle et y changer les choses. Merci beaucoup pour votre aide. :) – Ciwan

+0

Pas de problème, content de pouvoir aider :-) –