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

Silverlight應(yīng)用程序中如何獲取ASP.NET頁(yè)面參數(shù)

概述

在開(kāi)發(fā)Silverlight應(yīng)用程序時(shí),我們經(jīng)常會(huì)遇到這樣一種情況,需要在Silverlight應(yīng)用程序的UserControl中獲取ASP.NET頁(yè)面參數(shù),這個(gè)參數(shù)不一定來(lái)自于當(dāng)前Silverlight應(yīng)用程序的宿主頁(yè)面,而有可能來(lái)自于其它的ASP.NET頁(yè)面。

本文我們簡(jiǎn)單的介紹一下如何在Silverlight應(yīng)用程序中獲取ASP.NET頁(yè)面參數(shù)。

需求

如下面的項(xiàng)目結(jié)構(gòu),我們會(huì)在Default.ASPx頁(yè)面中需要傳遞兩個(gè)值到SilverlightTestPage.ASPx頁(yè)面,并且需要在SilverlightTestPage.ASPx頁(yè)面所宿主的Silverlight應(yīng)用程序中獲取并顯示:

TerryLee_0103

其中Default.ASPx頁(yè)面看起來(lái)如下圖所示:

TerryLee_0104

在單擊“Submit”按鈕時(shí),轉(zhuǎn)向SilverlightTestPage.ASPx頁(yè)面,并傳遞兩個(gè)參數(shù),如下代碼所示:

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

第一種方法,我們自然會(huì)使用InitParams屬性,在Silverlight宿主頁(yè)面加載時(shí),我們?cè)?a href=/itjie/ASPjishu/ target=_blank class=infotextkey>ASPX頁(yè)面中獲取參數(shù),并作為初始化參數(shù)傳遞給Silverlight應(yīng)用程序,如下代碼所示:

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

然后在Silverlight應(yīng)用程序的UserControl中設(shè)置兩個(gè)屬性,如下代碼所示:

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

這樣就可以在Application_Startup事件中獲取初始化參數(shù),并傳遞給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;}

這樣我們就通過(guò)InitParams來(lái)在Silverlight應(yīng)用程序中獲取到了ASP.NET頁(yè)面的參數(shù),運(yùn)行后效果如下圖所示:

TerryLee_0105

使用HtmlDocument

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

TerryLee_0106

這樣我們可以在Silverlight直接使用HtmlDocument對(duì)象來(lái)獲取當(dāng)前Silverlight應(yīng)用程序宿主頁(yè)面中的參數(shù),如下代碼所示:

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

運(yùn)行后可以看到與上面的效果一致:

TerryLee_0105

總結(jié)

本文的內(nèi)容非常簡(jiǎn)單,介紹了如何在Silverlight應(yīng)用程序中獲取ASP.NET頁(yè)面參數(shù),希望對(duì)大家有所幫助。

NET技術(shù)Silverlight應(yīng)用程序中如何獲取ASP.NET頁(yè)面參數(shù),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 安阳县| 灵石县| 青州市| 苍梧县| 东乡县| 太和县| 江达县| 晋中市| 黔江区| 湟中县| 文山县| 东兴市| 桐柏县| 长丰县| 肥乡县| 财经| 郸城县| 天气| 凤城市| 武义县| 永平县| 玉龙| 杭锦后旗| 墨脱县| 澎湖县| 闽清县| 隆子县| 蕉岭县| 中山市| 福建省| 华池县| 永福县| 游戏| 眉山市| 镶黄旗| 平乐县| 隆回县| 泽普县| 沙湾县| 河南省| 远安县|