課程設計-列車時刻表_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課程設計(綜合實驗)報告</p><p>  ( 2012 -- 2013 年度第二學期)</p><p>  名 稱: 網(wǎng)絡綜合實驗 </p><p>  題 目: 列車時刻表查詢程序 </p><p>  院 系: 計算機 </p><p&g

2、t;  班 級: </p><p>  學 號: </p><p>  學生姓名: </p><p>  指導教師: </p><p>  設計周數(shù): 2周 </p><p>  成

3、 績: </p><p>  日期: 2013 年 6 月 9 日</p><p><b>  一、 目的與要求</b></p><p>  任務:利用Web Service技術實現(xiàn)列車時刻表查詢。</p><p>  目的:學習在網(wǎng)絡應用程序中創(chuàng)建和使用Web服務。Web Servi

4、ce由于其跨平臺的優(yōu)越性,被越來越多的網(wǎng)站所重用。了解其實現(xiàn)原理及使用方法,有利于了解未來的網(wǎng)絡開發(fā)技術。</p><p>  要求:利用Web Service 技術,實現(xiàn)一個查詢實時天氣預報的網(wǎng)站,要求界面美觀,方便易用;通過課程設計學生應該具備初步分析、設計和開發(fā)網(wǎng)絡應用軟件的能力,具備分析與檢查軟件錯誤、解決和處理實驗結(jié)果的能力。</p><p>  學生要求人數(shù):1人。</p

5、><p>  二、設計(實驗)正文</p><p><b>  1、實驗內(nèi)容</b></p><p>  編寫一個網(wǎng)站頁,可供用戶查詢最新列車時刻表情況,可站到站查詢、車次查詢和途徑站查詢,合理設計查詢組合?;竟ぷ鬟^程如下:</p><p>  (1) 了解Web Service技術的原理和使用方法;</p>

6、<p>  (2) 尋找提供列車時刻信息的Web服務;</p><p>  (3) 利用Web Service完成查詢網(wǎng)頁與信息提供網(wǎng)站的鏈接;</p><p><b>  (4) 測試網(wǎng)頁。</b></p><p><b>  2、使用工具</b></p><p>  Visual S

7、tudio2010 ,ASP.NET,C#</p><p><b>  3、實驗原理</b></p><p>  web service 發(fā)布后,客戶端添加引用,之后vs實際上在此時已經(jīng)在后臺生成本地代理類。之后看起來像是對web service的操作,實際上是對本地代理類的操作。代理類中處理網(wǎng)路訪問邏輯,客戶端的使用就象操作本地類一樣簡單便捷。</p>

8、<p>  客戶端發(fā)出web service請求后,請求到達代理類,代理類處理請求從服務端獲得SOAP數(shù)據(jù)包,而后進行數(shù)據(jù)處理后轉(zhuǎn)發(fā)客戶端。此中間涉及到的關于SOAP,WSDL等定義,簡單的可以理解為:SOAP中定義了傳輸數(shù)據(jù)類型的格式和規(guī)則,而WSDL則以XML的形式定義了web service的消息和有關操作,通過http傳輸協(xié)議進行數(shù)據(jù)傳輸。</p><p><b>  4、實驗步驟&

9、lt;/b></p><p> ?。?)新建一個ASP.NET的網(wǎng)站,在解決方案資源管理器中單擊右鍵,選擇添加web引用,在URL中添加http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx?wsdl,并設置web引用名為train,添加引用。</p><p> ?。?)因為提供web service的服務器上提供了

10、幾個讓我們調(diào)用來進行查詢的函數(shù),它們的返回值要與所設計的網(wǎng)站上的顯示進行綁定,因此用到了Repeater控件,按照如下圖所示的頁面布局設計網(wǎng)頁,添加頁面控件。Repeater控件的程序語句要在源代碼中顯示的寫出。網(wǎng)頁的設計使用母板頁,設計的主頁面如下,命名為defalt.aspx.</p><p>  將車次與函數(shù)返回值中的TrainCode相綁定,并在這一項中建立超鏈接,從而使在點擊具體的車次時可以在一個新的頁

11、面顯示出車次的具體途徑站查詢。另外將始發(fā)站與函數(shù)返回值FirstStation綁定,終點站與LastStation綁定,發(fā)車站與StartStation綁定,發(fā)車時間與StartTime綁定,到達站與ArriveStation綁定,到達時間與ArriveTime綁定,里程KM與KM綁定,歷時與UseDate綁定。</p><p> ?。?)編寫后臺程序。</p><p>  因為本實驗要調(diào)

12、用網(wǎng)上提供的web函數(shù),首先要建立調(diào)用函數(shù)的服務對象</p><p>  train.TrainTimeWebService train = new train.TrainTimeWebService();</p><p>  由于函數(shù)的返回值是是DataSet類型,建立一個DataSet的變量接收返回的數(shù)據(jù)</p><p>  DataSet ds = new D

13、ataSet();</p><p>  在頁面加載時由Label1顯示web函數(shù)getVersionTime()的返回值,顯示“火車時刻表為第六次提速最新列車時刻表,數(shù)據(jù)庫最后更新:及時更新”,在Page_Load()函數(shù)中編寫代碼實現(xiàn)在第一次訪問頁面時顯示函數(shù)的返回值,具體代碼是:</p><p>  protected void Page_Load(object sender, Eve

14、ntArgs e)</p><p><b>  {</b></p><p>  if (this.IsPostBack == false)</p><p>  Label1.Text = train.getVersionTime();</p><p><b>  }</b></p>&

15、lt;p>  Botton1實現(xiàn)的功能是將textStartStation和textArriveStation里面的內(nèi)容作為函數(shù)getStationAndTimeByStationName()的參數(shù)傳遞給服務器,用DataSet類型的ds接收函數(shù)的返回值,Repeater1的數(shù)據(jù)源即為該函數(shù)返回的數(shù)據(jù)。具體代碼如下:</p><p>  protected void Button1_Click(object

16、 sender, EventArgs e)</p><p><b>  {</b></p><p>  string start = textStartStation.Text;</p><p>  string end = textArriveStation.Text;</p><p>  ds = train.get

17、StationAndTimeByStationName(start, end, "");</p><p>  Repeater1.DataSource = ds.Tables[0].DefaultView;</p><p>  Repeater1.DataBind();</p><p><b>  }</b></p&g

18、t;<p>  數(shù)據(jù)綁定到模板時的事件是:定義一個Hyperlink的對象來代表TrainCode,當輸入的要查詢的車次沒有被發(fā)現(xiàn)時,鏈接的ToolTip顯示FirstStation的內(nèi)容即“數(shù)據(jù)沒有被發(fā)現(xiàn)”,當能查詢到車次的具體信息時,鏈接的ToolTip顯示“獲取**車次的具體信息”,并生成該鏈接的網(wǎng)絡地址。實現(xiàn)的具體代碼如下:</p><p>  protected void Repeater

19、1_ItemDataBound(object sender, RepeaterItemEventArgs e)</p><p><b>  {</b></p><p>  if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))<

20、;/p><p><b>  {</b></p><p>  HyperLink oHyperLink = (HyperLink)e.Item.FindControl("TrainCode");</p><p>  string TrainCode = DataBinder.Eval(e.Item.DataItem, "

21、TrainCode").ToString();</p><p>  oHyperLink.Text = TrainCode;</p><p>  string FirstStation = DataBinder.Eval(e.Item.DataItem, "FirstStation").ToString();</p><p>  str

22、ing StartStation = DataBinder.Eval(e.Item.DataItem, "StartStation").ToString();</p><p>  string ArriveStation = DataBinder.Eval(e.Item.DataItem, "ArriveStation").ToString();</p>&l

23、t;p>  if (FirstStation.Contains("沒有被發(fā)現(xiàn)"))</p><p><b>  {</b></p><p>  oHyperLink.ToolTip = FirstStation;</p><p>  oHyperLink.NavigateUrl = "";</

24、p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  oHyperLink.ToolTip = "獲得 " + TrainCode + " 詳細信息";&

25、lt;/p><p>  oHyperLink.NavigateUrl = "Detail.aspx?id=" + Server.UrlEncode(TrainCode) + "&Start=" + Server.UrlEncode(StartStation) + "&Arrive=" + Server.UrlEncode(ArriveStat

26、ion);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  Botton2實現(xiàn)的功能是將textTrainCode里面的內(nèi)容作為函數(shù)getStationAndTimeDataSetByT

27、rainCode()的參數(shù)傳遞給服務器,用DataSet類型的ds接收函數(shù)的返回值,Repeater1的數(shù)據(jù)源即為該函數(shù)返回的數(shù)據(jù)。具體代碼如下:</p><p>  protected void Button2_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  st

28、ring code = textTrainCode.Text;</p><p>  ds = train.getStationAndTimeDataSetByTrainCode(code, "");</p><p>  Repeater1.DataSource = ds.Tables[0].DefaultView;</p><p>  Repea

29、ter1.DataBind();</p><p><b>  }</b></p><p> ?。?)在解決方案中添加新項,選擇web窗體,命名為Detail.aspx,并按照下面的頁面布局設計網(wǎng)頁,添加頁面控件:</p><p>  將車站名稱與調(diào)用的函數(shù)返回值中的TrainStation綁定,將到站時間與ArriveTime綁定,將發(fā)車時間與

30、StartTime綁定,將里程KM與KM綁定。網(wǎng)站的框體源代碼可以自動生成。</p><p> ?。?)編寫Detail.aspx的后臺程序。</p><p>  因為本實驗要調(diào)用網(wǎng)上提供的web函數(shù),首先要建立調(diào)用函數(shù)的服務對象</p><p>  train.TrainTimeWebService train = new train.TrainTimeWebSe

31、rvice();</p><p>  由于函數(shù)的返回值是是DataSet類型,建立一個DataSet的變量接收返回的數(shù)據(jù)</p><p>  DataSet ds = new DataSet();</p><p>  在頁面加載時由Label3顯示web函數(shù)getVersionTime()的返回值,顯示“火車時刻表為第六次提速最新列車時刻表,數(shù)據(jù)庫最后更新:及時更新

32、”,本頁面作為第一個頁面車次的鏈接頁面,需要將第一個頁面的TrainCode傳遞過來,即定義一個string類型的變量來獲取鏈接的id,代碼為string TrainCode = Request.QueryString.Get("id");</p><p>  并將該TrainCode 作為函數(shù)getDetailInfoByTrainCode()的函數(shù)傳遞給服務器,用DataSet類型的ds接

33、收函數(shù)的返回值,Repeater1的數(shù)據(jù)源即為該函數(shù)返回的數(shù)據(jù)。具體代碼如下:</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  { </b></p><p>  string TrainCode = Request.QueryString

34、.Get("id");</p><p>  Label1.Text = "火車 " + TrainCode + " 車次詳細信息";</p><p>  title1.Text = Label1.Text + "列車時刻表 Web Service 實例";</p><p>  Label

35、3.Text = train.getVersionTime();</p><p>  ds = train.getDetailInfoByTrainCode(TrainCode, "");</p><p>  Repeater1.DataSource = ds.Tables[0].DefaultView;</p><p>  Repeater1.

36、DataBind();</p><p>  Label2.Text = "經(jīng)由車站共計" + ds.Tables[0].Rows.Count.ToString() + "個";</p><p><b>  }</b></p><p>  數(shù)據(jù)綁定到模板時的事件是顯示該車次的具體信息,當所顯示的車站與輸入的

37、發(fā)車站相同時該行變?yōu)辄S色,當所顯示的車站與輸入的到達站相同時該行變?yōu)槌壬?,其他的背景顏色為?FFF8D9”,實現(xiàn)的具體代碼:</p><p>  protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)</p><p><b>  {</b></p>&

38、lt;p>  if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))</p><p><b>  {</b></p><p>  System.Web.UI.HtmlControls.HtmlTableRow oTR = (S

39、ystem.Web.UI.HtmlControls.HtmlTableRow)e.Item.FindControl("TR1");</p><p>  String StartStation = Request.QueryString.Get("Start");</p><p>  String ArriveStation = Request.Que

40、ryString.Get("Arrive");</p><p>  if (DataBinder.Eval(e.Item.DataItem, "TrainStation").ToString().Equals(StartStation))</p><p>  oTR.BgColor = "#FFFF00";</p>

41、<p>  else if (DataBinder.Eval(e.Item.DataItem, "TrainStation").ToString().Equals(ArriveStation))</p><p>  oTR.BgColor = "#FF9900";</p><p><b>  else</b></

42、p><p>  oTR.BgColor = "#FFF8D9";</p><p><b>  }</b></p><p><b>  }</b></p><p>  至此該綜合實驗完成。</p><p>  三、課程設計(綜合實驗)總結(jié)或結(jié)論</p>

43、;<p>  1.在VS2010中運行程序的主界面:</p><p>  1.1按發(fā)到站查詢:</p><p><b>  輸入:北京->保定</b></p><p>  打開D123車次進入第二個頁面:</p><p>  1.2.按車次查找:</p><p><b&g

44、t;  輸入:D123</b></p><p>  點擊D123進入第二個界面:</p><p><b>  四、參考文獻</b></p><p>  [1] 作者1, 作者2 書名. 出版單位, 版本. 出版日期</p><p>  1.3.在瀏覽器中打開全圖:</p><p>&l

45、t;b>  2總結(jié): </b></p><p>  本次實驗是一門比較綜合性的實驗,用到的知識較多,使用的工具也比較陌生,但原理相對簡單。前一周基本上就是在熟悉開發(fā)環(huán)境的應用,及對ASP.NET和C#的熟悉與應用,第二周開始對實驗程序進行編寫。雖然說本次實驗的原理比較簡單,但是實現(xiàn)起來還是有一定難度的,通過查詢圖書資料及對網(wǎng)絡資源的利用,對用到的控件的屬性和功能及設置方法、設置形式有了比較深

46、入的了解,同時對后臺程序的編寫也有了比較深刻的認識。由于原來并沒有做過類似的東西,因此該實驗讓我學到很多知識,同時也激發(fā)了我對web service應用的濃厚興趣,以后我會加強這方面的了解,爭取可以學到更多。</p><p>  [1]《Web程序設計——ASP.NET實用網(wǎng)站開發(fā)》 清華大學出版社 沈士根、汪承焱、許小東編著;</p><p>  [2]《C#程序設計教程》 清華大學出

47、版社 李春葆、譚成予、金晶、曾平編著</p><p>  附錄(設計流程圖、程序、表格、數(shù)據(jù)等)</p><p>  程序的主界面代碼,保存名稱為Default.aspx:</p><p>  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="

48、Default.aspx.cs" Inherits="_Default" %></p><p>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&qu

49、ot;></p><p>  <html xmlns="http://www.w3.org/1999/xhtml"></p><p>  <head id="Head1" runat="server"></p><p>  <title>列¢D車¦

50、;Ì時º¡À刻¨¬查¨¦詢¡¥</title> </p><p>  <link href="~/style/Site.css" rel="stylesheet" type="text/css" /></p><

51、;p><b>  </head></b></p><p><b>  <body></b></p><p>  <form id="form1" runat="server"></p><p>  <div class="pa

52、ge"></p><p>  <div class="header"></p><p>  <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0&qu

53、ot; </p><p>  style="height: 440px"></p><p><b>  <tr></b></p><p>  <td class="style3"></p><p><b>  &nbsp;</b

54、></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td class="style3">

55、</p><p>  <img src=4.jpg alt="WebXml Logo" border="0" </p><p>  style="width: 960px; height: 190px;" /></td></p><p><b>  </tr>&

56、lt;/b></p><p>  <div class="title"></p><p><b>  <tr></b></p><p>  <td align="center" class="style3"></p><p&

57、gt;<b>  <strong></b></p><p>  &nbsp;<h2><font color=yellow>歡迎進入列車查詢程序程</font></h2></strong></td></p><p><b>  </tr></b>

58、</p><p><b>  </div></b></p><p><b>  <div></b></p><p><b>  <tr></b></p><p>  <td class="style3"><

59、;/p><p><b>  &nbsp;</b></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  <tr></b></p>&

60、lt;p>  <td class="style3"></p><p>  <table border="0" cellspacing="0" cellpadding="0" style="width: 100%"></p><p><b>  <

61、tr></b></p><p>  <td style="height: 25px; table-layout: auto; border-left-color: yellow; </p><p>  border-bottom-color: yellow; cursor: move; border-top-style: ridge; </p>

62、<p>  border-top-color: yellow; border-right-style: ridge; border-left-style: ridge;</p><p>  border-collapse: separate; border-right-color: yellow; </p><p>  border-bottom-style: ridge;&

63、quot;></p><p>  發(fā)車站&nbsp;&nbsp;<asp:TextBox Columns="10" CssClass="input1" ID="textStartStation" MaxLength="10"</p><p>  runat="server&

64、quot; ontextchanged="textStartStation_TextChanged" /></p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p>  到達站<asp:TextBox Columns="10" CssClass="

65、input1" ID="textArriveStation" MaxLength="10"</p><p>  runat="server" Width="50px" /></p><p>  <asp:Button CssClass="input2" ID="

66、;Button1" runat="server" Text="查¨¦詢¡¥" </p><p>  onclick="Button1_Click" Height="19px" /></p><p><b>  <tr></b&g

67、t;</p><p>  <td style="height: 25px; table-layout: fixed; border-left-color: yellow; </p><p>  border-bottom-color: yellow; cursor: move; border-top-style: ridge; </p><p>  

68、border-top-color: yellow; border-right-style: ridge; border-left-style: ridge;</p><p>  border-collapse: separate; border-right-color: yellow; </p><p>  border-bottom-style: ridge;"><

69、/p><p>  車&nbsp;&nbsp;&nbsp;&nbsp;次&nbsp;<asp:TextBox </p><p>  Columns="10" CssClass="input1" ID="textTrainCode" MaxLength="10" runat

70、="server" </p><p>  Width="90px" /></p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n

71、bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<

72、;/p><p>  <asp:Button CssClass="input2" ID="Button2" runat="server" Text="查¨¦詢¡¥" </p><p>  onclick="Button2_Click" Height=&

73、quot;19px" /></td></p><p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  </td></b></p><p><b

74、>  </tr></b></p><p><b>  </div></b></p><p><b>  <div></b></p><p><b>  <tr></b></p><p>  <td clas

75、s="style2"></p><p>  &nbsp;</td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td class="style

76、3"></p><p>  <table border="0" cellpadding="2" cellspacing="1" bordercolor="#FFFFFF"</p><p>  bgcolor="#CCFFFF" style="width: 96

77、0px;"></p><p><b>  <tr></b></p><p>  <th style="background-color: #FFFF00" bgcolor="#CCFFFF" align=left></p><p><b>  車次<

78、/th></b></p><p>  <th style="width: 10%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  始發(fā)站</th></b></p><p&

79、gt;  <th style="width: 10%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  終點站</th></b></p><p>  <th style="width: 10%;

80、 background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  發(fā)車站</th></b></p><p>  <th style="width: 10%; background-color: #FFFF00;" b

81、gcolor="#CCFFFF" align=left></p><p><b>  發(fā)車時間</th></b></p><p>  <th style="width: 10%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=l

82、eft></p><p><b>  到達站</th></b></p><p>  <th style="width: 10%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b&g

83、t;  到達時間</th></b></p><p>  <th style="width: 10%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p>  歷程¬KM</th></p><p&

84、gt;  <th style="width: 10%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  歷時</th></b></p><p><b>  </tr></b>&

85、lt;/p><p>  <asp:Repeater runat="server" ID="Repeater1" EnableViewState="false" onitemdatabound="Repeater1_ItemDataBound"></p><p>  <ItemTemplate&

86、gt;</p><p><b>  <tr></b></p><p>  <td class="tdbg"></p><p>  <asp:HyperLink ID="TrainCode" runat="server" Target="_bla

87、nk" Font-Bold="true" /></p><p><b>  </td></b></p><p>  <td class="tdbg" style="white-space: nowrap;"></p><p>  <%#Ev

88、al("FirstStation")%></p><p><b>  </td></b></p><p>  <td class="tdbg" style="white-space: nowrap;"></p><p>  <%#Eval("

89、;LastStation")%></p><p><b>  </td></b></p><p>  <td class="tdbg" style="white-space: nowrap;"></p><p>  <%#Eval("StartSta

90、tion")%></p><p><b>  </td></b></p><p>  <td class="tdbg"></p><p>  <%#Eval("StartTime")%></p><p><b>  &l

91、t;/td></b></p><p>  <td class="tdbg"></p><p>  <%#Eval("ArriveStation")%></p><p><b>  </td></b></p><p>  <

92、td class="tdbg"></p><p>  <%#Eval("ArriveTime")%></p><p><b>  </td></b></p><p>  <td class="tdbg"></p><p>

93、;  <%#Eval("KM")%></p><p><b>  </td></b></p><p>  <td class="tdbg"></p><p>  <%#Eval("UseDate")%></p><p&

94、gt;<b>  </td></b></p><p><b>  </tr></b></p><p>  </ItemTemplate></p><p>  </asp:Repeater></p><p><b>  </table&g

95、t;</b></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td class="style1&q

96、uot;></p><p><b>  &nbsp;</b></p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  <tr></b>&l

97、t;/p><p>  <td class="style2"></p><p>  <asp:Label ID="Label1" runat="server" /></td></p><p><b>  </tr></b></p>

98、<p><b>  <tr></b></p><p>  <td class="style2"></p><p><b>  &nbsp;</b></p><p><b>  </td></b></p><

99、p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td align="center" class="style2"></p><p><b>  </td></

100、b></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td class="style3"></p><p><b>  &nbsp;</b>

101、</p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  </div></b></p><p><b>  </table></b><

102、/p><p><b>  </div></b></p><p><b>  </div></b></p><p><b>  </form></b></p><p><b>  </body></b></p

103、><p><b>  </html></b></p><p>  主界面的后臺程序,保存名稱為Default.aspx.cs:</p><p>  using System;</p><p>  using System.Collections.Generic;</p><p>  usi

104、ng System.Linq;</p><p>  using System.Web;</p><p>  using System.Web.UI;</p><p>  using System.Web.UI.WebControls;</p><p>  using System.Data;</p><p>  pub

105、lic partial class _Default : System.Web.UI.Page</p><p><b>  {</b></p><p>  train.TrainTimeWebService train = new train.TrainTimeWebService();</p><p>  DataSet ds = new D

106、ataSet();</p><p>  protected void Page_Load(object sender, EventArgs e)</p><p><b>  {</b></p><p>  if (this.IsPostBack == false)</p><p>  Label1.Text = trai

107、n.getVersionTime();</p><p><b>  }</b></p><p>  protected void textStartStation_TextChanged(object sender, EventArgs e)</p><p><b>  {</b></p><p>

108、<b>  }</b></p><p>  protected void Button1_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string start = textStartStation.Text;</p><

109、p>  string end = textArriveStation.Text;</p><p>  ds = train.getStationAndTimeByStationName(start, end, "");</p><p>  Repeater1.DataSource = ds.Tables[0].DefaultView;</p><

110、;p>  Repeater1.DataBind();</p><p><b>  }</b></p><p>  protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)</p><p><b>  {</b><

111、/p><p>  if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))</p><p><b>  {</b></p><p>  HyperLink oHyperLink = (HyperLink)e.Ite

112、m.FindControl("TrainCode");</p><p>  string TrainCode = DataBinder.Eval(e.Item.DataItem, "TrainCode").ToString();</p><p>  oHyperLink.Text = TrainCode;</p><p>  

113、string FirstStation = DataBinder.Eval(e.Item.DataItem, "FirstStation").ToString();</p><p>  string StartStation = DataBinder.Eval(e.Item.DataItem, "StartStation").ToString();</p>&

114、lt;p>  string ArriveStation = DataBinder.Eval(e.Item.DataItem, "ArriveStation").ToString();</p><p>  if (FirstStation.Contains("沒有發(fā)現(xiàn)"))</p><p><b>  {</b></p

115、><p>  oHyperLink.ToolTip = FirstStation;</p><p>  oHyperLink.NavigateUrl = "";</p><p><b>  }</b></p><p><b>  else</b></p><p&g

116、t;<b>  {</b></p><p>  oHyperLink.ToolTip = "獲得" + TrainCode + " 詳細信息";</p><p>  oHyperLink.NavigateUrl = "Detail.aspx?id=" + Server.UrlEncode(TrainCode)

117、 + "&Start=" + Server.UrlEncode(StartStation) + "&Arrive=" + Server.UrlEncode(ArriveStation);</p><p><b>  }</b></p><p><b>  }</b></p>&

118、lt;p><b>  }</b></p><p>  protected void Button2_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  string code = textTrainCode.Text;</p>

119、<p>  ds = train.getStationAndTimeDataSetByTrainCode(code, "");</p><p>  Repeater1.DataSource = ds.Tables[0].DefaultView;</p><p>  Repeater1.DataBind();</p><p><b&

120、gt;  }</b></p><p><b>  }</b></p><p>  次界面的代碼,保存名稱為Detail.aspx:</p><p>  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Detai

121、l.aspx.cs" Inherits="_Detail" %></p><p>  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

122、</p><p>  <html xmlns="http://www.w3.org/1999/xhtml"></p><p>  <head id="Head1" runat="server"></p><p>  <title id="title1" ru

123、nat="server" >歡?迎®-進?入¨?列¢D車¦Ì時º¡À刻¨¬查¨¦詢¡¥程¨¬序¨°</title></p><p>  <link href="~/style/Sit

124、e.css" rel="stylesheet" type="text/css" /></p><p><b>  </head></b></p><p><b>  <body></b></p><p>  <form id="

125、form1" runat="server"></p><p>  <div class="page"></p><p>  <div class="header"></p><p><b>  <div></b></p>

126、<p>  <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0"></p><p><b>  <tr></b></p><p>  

127、<td>&nbsp;</p><p><b>  </td></b></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p><b>  <td>

128、</b></p><p>  <img src=4.jpg alt="WebXml Logo" border="0" </p><p>  style="width: 960px; height: 190px" /></p><p><b>  </td>&l

129、t;/b></p><p><b>  </tr></b></p><p>  <div class="title"></p><p><b>  <tr></b></p><p>  <td align="center&

130、quot;></p><p>  <asp:Label Font-Bold="true" ID="Label1" runat="server" /></td></p><p><b>  </tr></b></p><p><b> 

131、 </div></b></p><p><b>  <div></b></p><p><b>  <tr></b></p><p>  <td>&nbsp;</p><p><b>  </td></b

132、></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p><b>  <td></b></p><p>  <table width="50%" bord

133、er="0" align="center" cellpadding="2" cellspacing="1" bordercolor="#FFFFFF"</p><p>  bgcolor="#CCFFFF" ></p><p><b>  <tr&g

134、t;</b></p><p>  <th style="width: 25%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  車站名</th></b></p><p>  

135、<th style="width: 25%; background-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  到站時間</th></b></p><p>  <th style="width: 25%; bac

136、kground-color: #FFFF00;" bgcolor="#CCFFFF" align=left></p><p><b>  發(fā)車時間</th></b></p><p>  <th style="width: 25%; background-color: #FFFF00;" bgco

137、lor="#CCFFFF" align=left></p><p>  歷程¬KM</th></p><p><b>  </tr></b></p><p>  <asp:Repeater ID="Repeater1" runat="server&q

138、uot; EnableViewState="false" onitemdatabound="Repeater1_ItemDataBound"></p><p>  <ItemTemplate></p><p>  <tr id="TR1" runat="server"></

139、p><p>  <td align="center"></p><p>  <%#Eval("TrainStation")%></td></p><p>  <td align="center"></p><p>  <%#Eval(

140、"ArriveTime")%></td></p><p>  <td align="center"></p><p>  <%#Eval("StartTime")%></td></p><p>  <td align="center&qu

141、ot;></p><p>  <%#Eval("KM")%></td></p><p><b>  </tr></b></p><p>  </ItemTemplate></p><p>  </asp:Repeater></p&

142、gt;<p><b>  </table></b></p><p>  <table width="50%" border="0" align="center" cellpadding="0" cellspacing="0"></p><

143、;p><b>  <tr></b></p><p>  <td style="height:24px;"></p><p>  <asp:Label ID="Label2" runat="server" /></td></p><p&g

144、t;<b>  </tr></b></p><p><b>  <tr></b></p><p>  <td style="height:24px;"></p><p>  <asp:Label ID="Label3" runat="

145、;server" /></td></p><p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  </td></b></p><p><b&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論