2012-04-10 44 views
1

我有一個供應商登錄到網站並填寫表單,並在提交時向管理員發送電子郵件,但只有當管理員(「已批准」收到此電子郵件的人)允許。我想知道如何發送的電子郵件,由此當人點擊該鏈接就批准這種形式對於這個特定的供應商的鏈接......此刻,我有這樣的:具有批准鏈接的電子郵件

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

當u在郵件發送鏈接,然後從電子郵件中的鏈接打開的供應商,其重定向到您的應用程序頁面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 2012-04-10 09:33:58

+0

儘管這會起作用,但我建議不要僅僅將參數作爲查詢字符串值傳遞給任何人都可以訪問的頁面。例如任何人都可以開始爲「SectionID」或其他查詢字符串值傳遞任何值,並與您的數據庫混淆。我只是簡單地發送一封電子郵件,告訴管理員登錄網站進行驗證。 – 2012-04-10 09:39:19

+0

是的,你可以在html中附加更多的查詢字符串參數,通過它你可以在頁面上獲取數據作爲請求查詢字符串。我有修改我的答案,根據這個建議(看看MailingManager.SendEmail功能)..請看看它可以幫助你 – 2012-04-10 09:41:44