我的博客也能查股票

技术与开发

7-f11-2.jpg

我看了《电脑报》第1期《我的网页能实时显示股票行情》,觉得很有意思,但我只想显示股票的实时价格,而不用显示分时走势图,又该怎么实现呢?另外,我想把这个功能添加到我的博客网站里面,应该怎么设计呢?

只查询股票价格与查询股票分时走势图基本原理差不多,还是要用到Web Service。新建一个Web Service,并远程调用互联网提供的数据,然后设计出相应的股票控件,最后把这些数据绑定到控件上即可。Web Service 是一个能够实现远程数据交互的技术和协议,通过HTML进行通讯。它能实现不同平台、不同开发语言和开发技术软件之间的通讯。

第一步:打开Visual Studio,在“文件”菜单上选择“打开网站”,定位到你的博客网站文件夹,单击“打开”按钮,右击“解决方案资源管理器”中项目的根目录,然后选择“添加Web引用”。

在弹出的对话框的URL文本框内键入http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx,并单击“前往”按钮,然后在右下方的“Web引用名”的文本框内键入一个引用名字,例如“webxmlStock”,并单击“添加引用”按钮。

此时再右击“解决方案资源管理器”中项目的根目录,然后选择“添加新项”,在弹出的对话框中选择“Web服务”,命名为“CallService”,单击“添加”按钮。

第二步:在新建的Web Service中,键入如下代码:

[WebMethod]

public string GetCurrentPrice(string Code) {

//查询股票价格,从远程调用Web Service

webxmlStock.ChinaStockWebService Csw = new webxmlStock.ChinaStockWebService();

string[] priceSettings = Csw.getStockInfoByCode(Code);

//提取股票价格,该数据处于返回的数组的第四个元素

string currentPrice = priceSettings[3];

return currentPrice;

}

[WebMethod]

public string GetStockName(string StockCode)

{

//从远程调用Web Service ,和前面方法一样

webxmlStock.ChinaStockWebService Csw = new webxmlStock.ChinaStockWebService();

string[] stockSettings = Csw.getStockInfoByCode(StockCode);

string stockName = stockSettings[1];

return stockName;

}

第三步:在“解决方案资源管理器”下面新建一个“User Control”文件夹来专门存放用户控件,右击该文件夹选择“添加新项”,在弹出的设置框中选择“Web用户控件”,命名为“stockSearch”后单击“添加”按钮,双击打开stockSearch.ascx文件,切换到“设计”视图,把鼠标指针移动到工具箱,拖曳一个DropDownList,一个TextBox,一个Button,两个Label。其中TextBox的ID改为“txtCode”,两个Label中一个改为“lblResult”,另一个改为“lblName”,前者负责显示当前的股票价格,后者显示股票名称。

在插入DropDownList之后,单击智能标记,在弹出的菜单中选择“Edit Item”,此时又会弹出一个设置框,设置第一个选项为“沪市”,Value为“sh”;第二个选项为“深市”,Value为“sz”,然后单击“OK”按钮。最后打开stockSearch.ascx.cs,加入相关代码(代码下载地址:http://www.cpcw.com/bz soft)。

第四步:双击stockSearch.ascx中的Button控件,在事件处理程序Button_Click中添加如下代码:

protected void Button4_Click1(object sender, EventArgs e)

{

CallService myCall = new CallService();

this.lblResult.Text = myCall.GetCurrentPrice(stockCode);

this.lblName.Text = myCall.GetStockName(stockCode);

}

第五步:打开你所需要添加这个功能的文件(比如Default.aspx),切换到“源”视图,在页面的顶端加入如下代码:

<%@ Register Src="User controls/stockSearch.ascx" TagName="stockSearch" TagPrefix="uc1" %>

并在“<uc1:PostList ID="PostList1" runat="server" />”(不含最外面的引号)的下面添加如下代码:

<uc1:stockSearch ID="stockSearch1" runat="server" />

输入股票代码,就可以查询当前股票的价格啦!这一步完成后,大功告成!