2012-04-10 3 views
1

J'ai, disons un fournisseur, qui se connecte sur le site et remplit un formulaire et un email est envoyé à l'administrateur lors de la soumission, mais cela n'est ajouté à la liste "Approuvé" qu'un administrateur (personne qui reçoit cet email) permet. Je veux savoir comment envoyer un lien dans un e-mail de sorte que lorsque la personne clique sur le lien, il approuve ce formulaire pour ce fournisseur particulier ... au moment où j'ai ceci:email avec lien d'approbation

MailingManager.SendEmail(toAddresses, fromAddress, "Approval", "<a href=http://localhost:53048/Website/Site/PurchasersSuppliers/CreateSuppliers.aspx?SectionID=537 </a>; 
This is an email to ask for confirmation, null, templateID); 

donc je sais que vous pouvez ajouter html au corps du mail .... mais comment puis-je l'obtenir de sorte que lorsque le lien dans le corps est cliqué que je reçois une sorte de façon d'indiquer à la base de données si cet enregistrement particulier est approuvé ou non?

Répondre

2

vous pouvez passer le code html comme ci-dessous

MailingManager.SendEmail(toAddresses, fromAddress, "Approval", "<a href='http://localhost:53048/Website/Site/PurchasersSuppliers/CreateSuppliers.aspx?SectionID=537&UserID=12&SupplierID=2'>This is an email to ask for confirmation </a>", null, templateID); 

quand u envoyer le lien dans le courrier, puis de lien e-mail ouvert par le fournisseur, la redirection vers votre page d'application CreateSuppliers.aspx.

Maintenant, sur la page CreateSuppliers.aspx, vous pouvez gérer l'événement dans le chargement de la page lui-même. vous pouvez passer encore plus d'arguments dans la chaîne de requête pour accomplir votre tâche.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     DoSomething(Request["SectionID"]); 
    } 
} 

private void DoSomething(string SectionID) 
{ 
    // make database call against SectionID and fetch whether its approved or not. 
} 

Espérons que cela vous aide ....

+0

SectionID nest pas spécifique à un utilisateur ou fournisseur, son juste la section partuicular du site l'utilisateur est ... Est-il possible d'avoir deux queryString paramètres? – Eoiner

+0

Bien que cela fonctionne, je conseille de ne pas autoriser les paramètres transmis comme valeur de chaîne de requête à une page ouverte à tous. par exemple. N'importe qui peut commencer à transmettre des valeurs pour "SectionID" ou d'autres valeurs de chaîne de requête, et à jouer avec votre base de données. Je voudrais simplement envoyer un email avec les détails, et dire à l'administrateur de se connecter à un site Web pour valider. –

+0

Oui, vous pouvez ajouter plus de paramètres de chaîne de requête dans html par lequel vous pouvez obtenir des données en tant que chaîne de requête de requête sur la page. J'ai modifié ma réponse selon cette suggestion (regardez la fonction MailingManager.SendEmail) .. s'il vous plaît regarder cela qui vous aide –

Questions connexes