ヒント:どのようにASP.NETのSilverlightアプリケーションパラメータページを取得します

著作権: オリジナル作品、再現可能、転載ハイパーリンクの記事の形式を識別するようにしてください 元のソース 、著者情報と、この文を。それ以外の場合は、責任を負いません。 http://terrylee.blog.51cto.com/342737/87093

アウトライン

Silverlightアプリケーションを開発するとき、私たちはしばしばこのような状況に遭遇、あなたは、ユーザーコントロールのSilverlightアプリケーションでASP.NETページのパラメータを取得する必要があり、このパラメータは、必ずしも現在のホストのSilverlightアプリケーションからのページではありませんが、そこに来るかもしれません他のASP.NETページへ。
この記事では、Silverlightアプリケーションでは、単純なASP.NETページのパラメータを取得する方法について説明します。

需要

次のプロジェクト構造、我々は、Default.aspxのページSilverlightTestPage.aspxページに2つの値を渡す必要があり、ホストのSilverlightアプリケーションのSilverlightTestPage.aspxページを取得して表示する必要があります。
下記に示すように、Default.aspxページに見える特徴:
次のコードに示すように、2つのパラメータを渡して「送信」ボタン、SilverlightTestPage.aspxページめくりをクリックすると:
保護されたボイド btnSubmit_Click(オブジェクト送信者、のEventArgsの E)
            { 
            Response.Redirectを(文字列 .Format("SilverlightTestPage.aspx名= {0}&Eメール= {1}?"この .txtUserName.Text、
             この .txtEmail.Text))。
            }

使用InitParams

第一の方法は、我々は、ページがホストシルバーASPXページ・パラメータにロードされたとき、我々は得る、天然InitParamsプロパティを使用し、次のコードに示すように、初期化パラメータとしてSilverlightアプリケーションに渡されます。
保護されたボイドをPage_Load(オブジェクト送信者、のEventArgsの E)
            { この .Xaml1.InitParameters = ストリング .Format("ユーザ名= {0}、メール= {1}" 
            場合、Request.QueryString [ "ユーザ名" ]、
            場合、Request.QueryString [ 「メール" ])。
            }
            
次に、2つのプロパティ、ユーザーコントロールのSilverlightアプリケーションで、以下に示すコードを設定します。
パブリック文字列ユーザー名
            { 集合 {
             この .lblUserName.Text = 
            } 
            } パブリック文字列のメール
            { 集合 {
             この .lblEmail.Text = 
            } 
            }
            
            
            
次のコードに示すように、これは、初期化パラメータApplication_Startupイベントで取得し、ユーザーコントロールに渡すことができます。
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页面的参数,运行后效果如下图所示:

使用HtmlDocument

其实上面的方法获取ASP.NET页面中参数有些麻烦,我们可以直接使用HtmlDocument,在HtmlDocument中定义了QueryString属性,如下代码所示:
这样我们可以在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"];
            }
运行后可以看到与上面的效果一致:

总结

本文的内容非常简单,介绍了如何在Silverlight应用程序中获取ASP.NET页面参数,希望对大家有所帮助。

本文出自 “TerryLee技术专栏” 博客,请务必保留此出处http://terrylee.blog.51cto.com/342737/87093

转载于:https://www.cnblogs.com/hdjjun/archive/2008/12/24/1361563.html

おすすめ

転載: blog.csdn.net/weixin_34191845/article/details/94497562