首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> ASP.NET技巧 -> 在asp.net 页面中加入skype功能
在asp.net 页面中加入skype功能


文章类别:ASP.NET技巧 来源: 作者: 发表日期:2006-9-19 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

This sample shows how to use Skype features in your ASP.NET 2.0 website. Based upon the Skype user name and standard phone number, you type in the appropriate fields. Six LinkButtons are populated with the strings that Skype needs in a website to do the basic actions, which are:

Make a Skype call via Skype.
Request contact information.
Start a chat.
Send a file via Skype.
Add a contact.
Make a Skype Out Call.
Creating this sample
I started this sample by creating a new empty website, selected the Add New Item Under Website option, and selected a new WebUserControl to add to my application that I called SkypeSample (it gets the .ascx extension after creation). On this WebsUserControl, I created the following controls:

A Label with the Text property Skype Name
A Label with the Text property Phone Nr
A TextBox with the ID txtSkypeName
A TextBox with the ID txtPhoneNr
A Button called Button1 by default, with the Text property set to Populate
Six LinkButtons called, by default, Linkbutton1...
Six standard type Images called, by default, Image1...
Further, I have added a folder Images to the project, and downloaded a set of images developers can use from the Skype website (Click here to download the images), and chosen the buttons I needed, and added them to the created image map. I set the path of my controls Image1 to Image6 to the appropriate image in my Images folder.

For Button1, I created an event called Populate_Click, and the following code that will fire the method SetSkypeStatus that I created later on.

//Get Spype Status
try
{
    this.SetSkype();
}
catch
{
    //
}
finally
{
    //
}
Then I clicked on the UserControl to go to the code-behind, and created a method called SetSkype and the needed strings for the application.

protected void SetSkype()
{

    //Set the Images on the website to unvisible
    Image1.Visible = true;
    Image2.Visible = true;
    Image3.Visible = true;
    Image4.Visible = true;
    Image5.Visible = true;
    Image6.Visible = true;

    //Create the Strings that will hold
    //the needed values and actions

    string SkypeName = txtSkypeName.Text;
    string LandPhone = txtPhoneNr.Text;
    string PathSkypeStatusString = "";
    string SkypeAddContactString = "";
    string SkypeCallString = "";
    string SkypeLandCall = "";
    string SkypeChattString = "";
    string SkypeProfileString = "";
    string SkypeSendFileString = "";
To populate the strings with values, I created try blocks. The first block gets the status of the Skype user name that is typed in after the method is fired. As you can see in the code below, I created three strings (s1, s2, sT); the last one of the three in the first try block stands for the string total since I tried to create a string I can use to get the status of the Skype contact. As you can see below, the first part of the string is a URL that says where to look, and what icon to use. You could change the word "mediumicon" to, for example, "largeicon", and a large icon will be shown. The string sT= part in this block sets the actual value of the string sT to the string I want, the path to look plus the Skype user name I want the status of. The value sT holds is then passed to the above created PathSkypeStatusString; and I assign PathSkypeStatusString as the value of the Image1 URL, so at runtime, this image should show a medium icon with the current status of the user.

//Get Spype Status
try
{
    string s1 = "http://mystatus.skype.com/mediumicon/";
    string s2 = SkypeName;
    string sT = s1 + s2;
    PathSkypeStatusString = sT;
    Image1.ImageUrl = PathSkypeStatusString;
}
catch
{
    //
}
finally
{
    //
}
In the next part, I need more strings because the Skype user name will be in the middle of the string, so creating the complete string is a little more complicated. s4 is important in this part because that is the action that will be performed at runtime, and s6 in the text that will be visible in the LinkButton. Again, I create the string sT, pass the value to SkypeCallString, and set the value of LinkButton1 to the content of SkypeCallString, so at runtime, this Linkbutton will initiate the call when clicked. In the code, the HREF value is seen with no closing tag because that one is later added when I set the value of the string s6.

//Set CallString
try
{
    //string s1 = "see code";
    string s2 = "skype:";
    string s3 = SkypeName;
    string s4 = "?call";
    string s5 = '"'.ToString();
    string s6 = ">Skype Me";
    string sT = s1 + s2 + s3 + s4 + s5 + s6;
    SkypeCallString = sT;
    LinkButton1.Text = SkypeCallString;
}
catch
{
    //Todo
}
finally
{
    //Todo
}
I repeat this for all the actions that can be performed by the user, setting the values of the LinkButtons to the actions I want them to perform. It's clear why the different actions always look like ?call, ?chat etc.

Running the sample code
To run the sample code, you just open the SkypeSample folder with Visual Studio, under the menu option File, Open, and the select the website. The code should be loaded, and when you hit F5, the sample application should run.

Further use
This sample is easy to use dynamically when you store the Skype user name and phone number in a database and present these values in your website, with, for example, a DetailControl that you load with a data source. When you set the Skype user name and phone number as DataKeys for the DetailControl, you can use the values they hold at runtime for populating the strings (Skype user name and phone number). Below is a sample that shows how you could set the properties from Skype.

//Set SkypeName and SkypeLandCall string values dynamically
try
{
    //Set String SkypeName
    string SkypeName = DetailsView1.DataKey["Skype"].ToString();
    //Set string SkypeLandCall
    string SkypeLandCall = DetailsView1.DataKey["CompanyPhone"].ToString();
}
catch
{
    //Todo
}
finally
{
    //Todo
}
Points of Interest
I am not saying that the code is perfect but it works well from my laptop. When I request the website from my local server, all Skype options work. The name Skype is copyright of Skype Limited.

上一篇:创建带有关联的 XML 架构的 XML 文件 && 从 XML 文件创建 XML 架构 下一篇:细看Windows Live Messenger8.1版变化
本栏目热门文章
·如何实现无刷新的DropdownList联动效果 2005-10-4
·使用HttpWebRequest向网站模拟上传数据 2005-10-4
·ASP.NET中文件上传下载方法集合 2006-5-28
·当DataSet中包含主/子表时,Update更新步骤 2005-10-6
·ASP.NET2.0实现无刷新客户端回调 2005-11-13
·分享个极好的无刷新二级联动下拉列表,同样适用与firefox 2005-10-19
·在Web DataGrid中当鼠标移到某行与离开时行的颜色发生改变( 2005-10-4
·ASP.NET中实现Flash与.NET的紧密集成 2005-11-21
·关于Asp.net页面Page_Load被执行两次的问题 2005-10-4
·ASP.NET极限:页面导航 (翻译) 2005-10-8
新近更新文章
·asp.net2.0 上传图片并为用户创建相应文件夹 2006-9-26
·ASP.NET如何存取SQL Server数据库图片 2006-9-24
·在Java和.NET平台的加密术比较 2006-9-24
·关于Asp.net中使用以下代码导出Excel表格的问题 2006-9-24
·FCKEditor在Asp.net的安装 2006-9-24
·asp.net在ie里调试 2006-9-24
·ASP.NET2.0调用MySql的存储过程 2006-9-24
·在asp.net页面中使用异步读取 2006-9-24
·一个通用的分页类 2006-9-24
·ASP.NET 2.0“插件”说 2006-9-24
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: