Plus simple en Français ;)
Il y a pas mal de solutions envisageables
concernant ce que je viens de repondre, vous pouuvez etendre le
composant avec vos propre controles de la manière suivante :
vous ajouter votre namespace dans le fichier web.config ou en
directive de la page pour declarer votre propre assembly.
<pages>
<controls>
<add tagPrefix="cart"
namespace="Serialcoder.ShoppingCart.Web.UI.WebControls"
assembly="Serialcoder.ShoppingCart"/>
<add tagPrefix="mycart"
namespace="MyAssembly.ShoppingCart.Web.UI.WebControls"
assembly="MyAssembly"/>
</controls>
</pages>
le controle dans la page peut alors etre :
<mycart:myaddtocartbutton .../>
le controle myaddtocartbutton peut etre ecrit comme ceci :
namespace MyAssembly.ShoppingCart.Web.UI.WebControls
{
[Designer(typeof(Designers.AddToCartImageButtonDesigner))]
[ToolboxData("<{0}:MyAddToCartImageButton runat=\"server\" Text=
\"AddToCart\"></{0}:AddToCartImageButton>")]
[DefaultProperty("Text")]
[ToolboxItem(false)]
public class MyAddToCartImageButton :
Serialcoder.ShoppingCart.Web.UI.WebControls.AddToCartImageButton,
IPostBackDataHandler
{
public void RaisePostDataChangedEvent()
{
Insert();
Redirect("/MyCartPage.aspx");
}
}
}
une autre solution consisterait effectivement à modifier le composant
en pouvant indiquer qu'il faut faire un redirect "optionnel" lors de
l'ajout au panier par exemple en indiquant l'url du panier dans le
controle
<cart:AddToCartImageButton runat="server" id="uxAddToCartImageButton"
Src="~/images/btn-atc.gif" Availability="50"
Code="P4" DefaultQuantity="5" Description="Product4" ImageUrl=""
ProductId="4"
ProductLink="" PublicPrice="15.0" Quantity="1" Reduce="0"
TaxRate="0.196" Text="Add P4"
UnitSale="1" PostbackUrl="/cart.aspx" />
si la propriété postbackUrl est renseignée alors il faut faire un
redirect.
Marc
> Bonjour,
> Merci pour votre réponse. Je ne suis pas très au clair concernant la méthode
> pour créer ce contrôle.
> Est-ce que le mieux est de rajouter ce code donc ce contrôle dans la dll du
> shoping cart que vous avez crée? SI la réponse est oui, ne vaudrait-il pas
> mieux étendre le contrôle existant?
> Et est-ce que cette dll est modifiable avec VisualStudio Express?
> Ou est-ce possible de faire tout cela avec notepad dans une page avec du
> code inside?
> Merci pour votre composant.