2012-04-10 6 views
1

У меня есть, скажем, поставщик, который заходит на сайт и заполняет форму, и электронное письмо отправляется администратору при его отправке, но это добавляется только в список «Утвержденный», когда администратор (человек, который получает это письмо) позволяет. Я хочу знать, как отправить ссылку по электронной почте при этом, когда человек нажимает на ссылку он одобрит эту форму для этого конкретного поставщика ... на данный момент у меня есть это:email с ссылкой на официальное утверждение

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); 

, так что я знаю, что вы можете добавить html в тело почты .... но как я могу его получить, чтобы при щелчке по ссылке в теле я получил какой-то способ указать в базу данных, одобрена ли эта конкретная запись или нет?

ответ

2

вы можете передать HTML-код, как показано ниже

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); 

когда и отправить ссылку на почту, а затем из электронной открытой линии от поставщика, его перенаправление на вашу страницу приложения CreateSuppliers.aspx.

Теперь на странице CreateSuppliers.aspx вы можете обрабатывать событие в самой загрузке страницы. вы можете передать еще больше аргументов в строке запроса для выполнения своей задачи.

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. 
} 

Надеется, что это поможет вам ....

+0

SectionID разве специфичный для пользователя или поставщика, его просто partuicular раздел сайта пользователя находится в ... Можно ли иметь два QueryString параметры? – Eoiner

+0

Хотя это будет работать, я бы посоветовал не допускать передачу параметров в качестве значения querystring на страницу, открытую для всех. например Любой может начать передавать любые значения для «SectionID» или других значений запроса и возиться с вашей базой данных. Я просто отправлю электронное письмо с подробной информацией и попрошу администратора войти на веб-сайт для проверки. –

+0

Да, вы можете добавить дополнительные параметры строки запроса в html, с помощью которых u может получить данные в виде строки запроса запроса на странице. Я изменил свой ответ в соответствии с этим предложением (посмотрите на MailingManager.SendEmail). Посмотрите, что вам поможет –