在IE瀏覽器中使用Windows表單控制項(二)

來源:互聯網
上載者:User
window|控制項|瀏覽器 在IE瀏覽器中使用Windows表單控制項(二)

作者::Thiru Thangarathinam

翻譯:秋楓


通過windows表單控制項訪問Web Service


表單控制項一個重要優點就是你可以通過它在用戶端實現豐富的使用者資訊。比如說,你可以通過表單控制項對Web服務的訪問從而在IE中顯示而不需要重新重新整理該頁面。為了示範這點,我們先來建立一個Web服務,接著再來示範怎樣通過表單控制項調用Web服務。

建立Web service

我們建立一個 Visual C# Asp.net web service 新項目,名字取為AuthorsWebService。

建立以後,我們修改服務類名稱為AuthorsService,同時在類裡面增加一個GetAuthors方法到裡面,該方法的代碼如下:

[WebMethod]

public DataSet GetAuthors()

{

string connString = System.Configuration.ConfigurationSettings.AppSettings["connectionString"];

SqlConnection sqlConn = new SqlConnection(connString);

DataSet dstAuthors = new DataSet("Authors");

SqlDataAdapter adapter = new SqlDataAdapter("Select * from Authors",sqlConn);

adapter.Fill(dstAuthors,"Author");

sqlConn.Close();

sqlConn.Dispose();

return dstAuthors;

}

上面方法的代碼比較簡單,我們把資料庫連接字串儲存到了Web.config檔案的appSettings節點上,如下:

<appSettings>

<add key="connectionString" value="server=localhost;uid=sa;pwd=thiru;database=Pubs"></add>

</appSettings>



上面代碼中,
我們建立了一個SqlConnnection執行個體,同時把上面的連接字串作為參數傳入。接著建立一個SqlDataAdapter對象,傳入兩個參數――查詢字串和SqlConnnection執行個體。調用SqlDataAdapter執行個體的Fill方法來執行資料庫查詢並把結果填充到DataSet。現在我們完成了Web服務的建立,接下去來建立一個他的一個用戶端調用。

建立windows表單控制項作為Web服務用戶端

在這裡,我們是想用一個表單控制項來調用Web Service,因此建立一個Visual C#表單控制項項目取名AuthorsWebServiceClientControl:。

完成後,修改預設使用者控制項名稱為AuthorsControl.。我們在上面添加了一個DataGrid控制項取名GridAuthors 同時添加一個按鈕取名BtnClick。註冊按鈕的點擊事件,在事件處理函數中,將會調用WebService。在這之前我們需要添加項目的Web引用,輸入剛才建立的Web服務地址。編輯器會產生該服務的代理,添加Web服務引用如下:






服務代理建立以後,我們在按鈕事件中添加代碼:

private void BtnClick_Click(object sender, System.EventArgs e)

{

this.Cursor = Cursors.WaitCursor;

AuthorsWebServiceProxy.AuthorsService authorsSvc = new

AuthorsWebServiceProxy.AuthorsService();

this.GridAuthors.DataSource = authorsSvc.GetAuthors();

this.Cursor = Cursors.Default;

}
在上面代碼中,我們建立了web服務代理的一個執行個體,並調用GetAuthors方法把返回的資料集賦值給GridAuthors的DataSource屬性。接著編譯這個表單控制項,然後配置虛擬目錄。

建立Html頁面和建立虛擬路徑

在這一步中,我們通過建立一個Html頁面來使用上面建立的那個AuthorsWebServiceClientControl。下面是他的代碼:

<html>
<body>
<p>Authors Display Control<br><br>
<object id="AuthorsControl1"
classid="http:AuthorsWebServiceClientControl.dll#AuthorsWebServiceClientControl.AuthorsControl"
height="500" width="500" VIEWASTEXT>
</object>
<br><br>
</body>
</html>

現在我們需要建立一個虛擬目錄使該控制項能正常工作,並把AuthorsDisplay.htm和AuthorsWebServiceClientControl.dll放在一起。開啟該瀏覽器輸入地址,你就會看到一個按鈕和一個空的DataGrid,如果你點擊該命令按鈕,控制項就會調用Web服務同時把結果寫到了DataGrid中。頁面結果如下所示。


在下一節中我們看看對進程的調試。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.