使用C#,.NET 4.0如何訪問由HttpUtility.ParseQueryString返回的NameValueCollection中的集合?
我使用HttpUtility.ParseQueryString解析一個mailto URI,因爲這樣的:
MailMessage message = new MailMessage();
NameValueCollection mailTo = System.Web.HttpUtility.ParseQueryString(mailToUri.OriginalString.Split('?')[1]);
message.Subject = mailTo["subject"];
的URI可以有多個 「到」 參數,如:
mailto://[email protected]&[email protected]&[email protected]&subject=test&body=this%20should%20be%20the%20body"
當通過代碼我可以看到ParseQueryString創建MAILTO [「到」]的NameValueCollection包含類型System.Collections.Specialized.NameObjectCollectionB的一個單一的「到」鍵具有多個值,這似乎是一個對象步進ase.NameObjectEntry
我確定我錯過了一些簡單的東西。我一直無法弄清楚如何遍歷這個集合並獲得每個單獨的值。我會找這樣的事情,這顯然是行不通的:
foreach (String address in mailTo["to"])
{
message.To.Add(new MailAddress(address));
}
此外,如果你知道一個更好的辦法從的mailto URI去SMTP郵件,我所有的目光。
打了我一分鐘。此作品+1 – jglouie
當然如此簡單。在調試中查看項目[「to」]會將值分解到集合中,而不是顯示單個逗號分隔值,導致我將所有錯誤路徑導向。謝謝。 – kscott