此範例示範如何在 ASP.NET 2.0 網站中使用 Skype 功能。根據 Skype 使用者名稱和標準電話號碼,在適當的欄位中鍵入。六個 LinkButton 填充了 Skype 在網站中執行基本操作所需的字串,這些操作包括:
透過 Skype 撥打 Skype 電話。
索取聯絡資訊。
開始聊天。
透過 Skype 傳送文件。
新增聯絡人。
撥打 Skype Out 電話。
建立此範例
我透過建立一個新的空網站開始此範例,選擇「在網站下新增項目」選項,然後選擇一個新的WebUserControl 新增到我的應用程式中,我將其稱為SkypeSample(它在建立後獲得. ascx 副檔名)。在此 WebsUserControl 上,我建立了以下控制項:
具有 Text 屬性 Skype Name 的標籤
具有文字屬性的標籤 電話號碼
ID 為 txtSkypeName 的文字框
ID 為 txtPhoneNr 的文字方塊
預設情況下名為 Button1 的按鈕,其 Text 屬性設定為 Populate
預設情況下,六個 LinkButton 稱為 Linkbutton1...
六個標準類型影像,預設稱為 Image1...
此外,我在專案中添加了一個資料夾Images,並從Skype 網站下載了一組開發人員可以使用的圖像(單擊此處下載圖像),並選擇了我需要的按鈕,並將它們添加到創建的圖像映射中。我將控制項 Image1 到 Image6 的路徑設定為「圖像」資料夾中的對應圖像。
對於 Button1,我建立了一個名為 Populate_Click 的事件,以及將觸發我稍後創建的 SetSkypeStatus 方法的以下程式碼。
//取得間諜狀態
嘗試
{
this.SetSkype();
}
抓住
{
//
}
最後
{
//
}
然後我點擊 UserControl 轉到隱藏程式碼,並建立一個名為 SetSkype 的方法以及應用程式所需的字串。
protected void SetSkype()
{
//將網站上的圖片設定為不可見
Image1.Visible = true;
Image2.Visible = true;
Image3.Visible = true;
Image4.Visible = true;
Image5.Visible = true;
Image6.Visible = true;
//建立將容納的字串
//所需的值與操作
string SkypeName = txtSkypeName.Text;
字串 LandPhone = txtPhoneNr.Text;
字串 PathSkypeStatusString = "";
字串 SkypeAddContactString = "";
字串 SkypeCallString = "";
字串 SkypeLandCall = "";
字串 SkypeChatString = "";
字串 SkypeProfileString = "";
字串 SkypeSendFileString = "";
為了用值填充字串,我建立了 try 區塊。第一個區塊取得該方法觸發後輸入的 Skype 使用者名稱的狀態。正如您在下面的程式碼中看到的,我創建了三個字串(s1、s2、sT);第一個 try 區塊中的三個中的最後一個代表字串總數,因為我嘗試建立一個可用於取得 Skype 聯絡人狀態的字串。如下所示,字串的第一部分是一個 URL,說明要尋找的位置以及要使用的圖示。您可以將“mediumicon”一詞更改為“largeicon”,然後將顯示一個大圖示。該區塊中的字串 sT= 部分將字串 sT 的實際值設定為我想要的字串、要尋找的路徑以及我想要的狀態的 Skype 使用者名稱。然後將 sT 保存的值傳遞給上面建立的 PathSkypeStatusString;我將 PathSkypeStatusString 指定為 Image1 URL 的值,因此在運行時,該圖像應顯示一個帶有使用者當前狀態的中等圖示。
//取得間諜狀態
嘗試
{
字串 s1 = " http://mystatus.skype.com/mediumicon/ ";
字串 s2 = Skype 名稱;
字串 sT = s1 + s2;
PathSkypeStatusString = sT;
Image1.ImageUrl = PathSkypeStatusString;
}
抓住
{
//
}
最後
{
//
}
在下一部分中,我需要更多字串,因為 Skype 使用者名稱將位於字串的中間,因此創建完整的字串會稍微複雜一些。 s4 在此部分中很重要,因為這是將在運行時執行的操作,而 s6 則在 LinkButton 中可見的文字中。再次,我建立字串 sT,將值傳遞給 SkypeCallString,並將 LinkButton1 的值設為 SkypeCallString 的內容,因此在執行時,此 Linkbutton 將在點擊時發起通話。在程式碼中,HREF 值沒有結束標記,因為後來當我設定字串 s6 的值時添加了該結束標記。
//設定呼叫字串
嘗試
{
//字串s1 =“參見代碼”;
字串 s2 = "Skype:";
字串 s3 = SkypeName;
字串 s4 = "?呼叫";
字串 s5 = '"'.ToString();
字串 s6 = ">Skype 我";
字串 sT = s1 + s2 + s3 + s4 + s5 + s6;
SkypeCallString = sT;
LinkButton1.Text = SkypeCallString;
}
抓住
{
//待辦事項
}
最後
{
//待辦事項
}
我對使用者可以執行的所有操作重複此操作,將 LinkButton 的值設為我希望它們執行的操作。
呼叫
」、「聊天」等。
要執行範例程式碼,只需使用 Visual Studio 開啟 SkypeSample 資料夾,在選單選項「檔案」、「開啟」下,然後選擇網站。應載入程式碼,當您按 F5 時,範例應用程式應執行。
進一步使用
當您將 Skype 使用者名稱和電話號碼儲存在資料庫中並在您的網站中顯示這些值(例如使用資料來源載入的 DetailControl)時,此範例很容易動態使用。當您將 Skype 使用者名稱和電話號碼設定為 DetailControl 的 DataKey 時,您可以使用它們在運行時保存的值來填充字串(Skype 使用者名稱和電話號碼)。下面的範例顯示如何從 Skype 設定屬性。
//動態設定SkypeName和SkypeLandCall字串值
嘗試
{
//設定字串SkypeName
字串 SkypeName = DetailsView1.DataKey["Skype"].ToString();
//設定字串SkypeLandCall
string SkypeLandCall = DetailsView1.DataKey["CompanyPhone"].ToString();
}
抓住
{
//待辦事項
}
最後
{
//待辦事項
}
興趣點
我並不是說程式碼是完美的,但它在我的筆記型電腦上運作良好。當我從本地伺服器請求網站時,所有 Skype 選項都有效。 Skype 名稱是 Skype Limited 的版權。