色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Silverlight應用程序中如何獲取ASP.NET頁面參數

概述

在開發Silverlight應用程序時,我們經常會遇到這樣一種情況,需要在Silverlight應用程序的UserControl中獲取ASP.NET頁面參數,這個參數不一定來自于當前Silverlight應用程序的宿主頁面,而有可能來自于其它的ASP.NET頁面。

本文我們簡單的介紹一下如何在Silverlight應用程序中獲取ASP.NET頁面參數。

需求

如下面的項目結構,我們會在Default.ASPx頁面中需要傳遞兩個值到SilverlightTestPage.ASPx頁面,并且需要在SilverlightTestPage.ASPx頁面所宿主的Silverlight應用程序中獲取并顯示:

TerryLee_0103

其中Default.ASPx頁面看起來如下圖所示:

TerryLee_0104

在單擊“Submit”按鈕時,轉向SilverlightTestPage.ASPx頁面,并傳遞兩個參數,如下代碼所示:

protected void btnSubmit_Click(object sender, EventArgs e){    Response.Redirect(String.Format("SilverlightTestPage.ASPx?username={0}&email={1}",        this.txtUserName.Text,        this.txtEmail.Text));}

使用InitParams

第一種方法,我們自然會使用InitParams屬性,在Silverlight宿主頁面加載時,我們在ASPX頁面中獲取參數,并作為初始化參數傳遞給Silverlight應用程序,如下代碼所示:

protected void Page_Load(object sender, EventArgs e){    this.Xaml1.InitParameters = String.Format("username={0},email={1}",        Request.QueryString["username"],        Request.QueryString["email"]);}

然后在Silverlight應用程序的UserControl中設置兩個屬性,如下代碼所示:

public String UserName{    set {        this.lblUserName.Text = value;    }}public String Email{    set {        this.lblEmail.Text = value;    }}

這樣就可以在Application_Startup事件中獲取初始化參數,并傳遞給UserControl,如下代碼所示:

private void Application_Startup(object sender, StartupEventArgs e){    Page page = new Page();    page.UserName = e.InitParams["username"];    page.Email = e.InitParams["email"];    this.RootVisual = page;}

這樣我們就通過InitParams來在Silverlight應用程序中獲取到了ASP.NET頁面的參數,運行后效果如下圖所示:

TerryLee_0105

使用HtmlDocument

其實上面的方法獲取ASP.NET頁面中參數有些麻煩,我們可以直接使用HtmlDocument,在HtmlDocument中定義了QueryString屬性,如下代碼所示:

TerryLee_0106

這樣我們可以在Silverlight直接使用HtmlDocument對象來獲取當前Silverlight應用程序宿主頁面中的參數,如下代碼所示:

void Page_Loaded(object sender, RoutedEventArgs e){    IDictionary<String, String> paras = HtmlPage.Document.QueryString;    this.lblUserName.Text = paras["username"];    this.lblEmail.Text = paras["email"];}

運行后可以看到與上面的效果一致:

TerryLee_0105

總結

本文的內容非常簡單,介紹了如何在Silverlight應用程序中獲取ASP.NET頁面參數,希望對大家有所幫助。

NET技術Silverlight應用程序中如何獲取ASP.NET頁面參數,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 安顺市| 长乐市| 修武县| 韩城市| 吉安县| 宝兴县| 天门市| 江口县| 武强县| 汨罗市| 陈巴尔虎旗| 凤城市| 黄石市| 铜川市| 鹤壁市| 措美县| 新民市| 新昌县| 长宁区| 奈曼旗| 宜兰市| 克拉玛依市| 民县| 铜山县| 九龙坡区| 兴海县| 禹城市| 怀来县| 郧西县| 兴义市| 会理县| 防城港市| 临猗县| 汝阳县| 龙口市| 桐城市| 恩平市| 修水县| 辽源市| 朝阳区| 铜梁县|