asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

Silverlight应用程序获取ASP.NET页面参数


发布日期:2019年04月17日
 
Silverlight应用程序获取ASP.NET页面参数

在开发Silverlight应用程序时我们经常会遇到这样一种情况需要在Silverlight应用程序的UserControl中获取ASPNET页面参数这个参数不一定来自于当前Silverlight应用程序的宿主页面而有可能来自于其它的ASPNET页面

本文我们简单的介绍一下如何在Silverlight应用程序中获取ASPNET页面参数

需求

如下面的项目结构我们会在Defaultaspx页面中需要传递两个值到SilverlightTestPageaspx页面并且需要在SilverlightTestPageaspx页面所宿主的Silverlight应用程序中获取并显示

其中Defaultaspx页面看起来如下图所示

在单击Submit按钮时转向SilverlightTestPageaspx页面并传递两个参数如下代码所示 protected void btnSubmit_Click(object sender EventArgs e)

{

ResponseRedirect(StringFormat(SilverlightTestPageaspx?username={}&email={}

thistxtUserNameText

thistxtEmailText));

}

使用InitParams

第一种方法我们自然会使用InitParams属性在Silverlight宿主页面加载时我们在ASPX页面中获取参数并作为初始化参数传递给Silverlight应用程序如下代码所示 protected void Page_Load(object sender EventArgs e)

{

thisXamlInitParameters = StringFormat(username={}email={}

RequestQueryString[username]

RequestQueryString[email]);

}

然后在Silverlight应用程序的UserControl中设置两个属性如下代码所示 public String UserName

{

set {

thislblUserNameText = value;

}

}

public String Email

{

set {

thislblEmailText = value;

}

}

这样就可以在Application_Startup事件中获取初始化参数并传递给UserControl如下代码所示 private void Application_Startup(object sender StartupEventArgs e)

{

Page page = new Page();

pageUserName = eInitParams[username];

pageEmail = eInitParams[email];

thisRootVisual = page;

}

这样我们就通过InitParams来在Silverlight应用程序中获取到了ASPNET页面的参数运行后效果如下图所示

使用HtmlDocument

其实上面的方法获取ASPNET页面中参数有些麻烦我们可以直接使用HtmlDocument在HtmlDocument中定义了QueryString属性如下代码所示

这样我们可以在Silverlight直接使用HtmlDocument对象来获取当前Silverlight应用程序宿主页面中的参数如下代码所示 void Page_Loaded(object sender RoutedEventArgs e)

{

IDictionary<String String> paras = HtmlPageDocumentQueryString;

thislblUserNameText = paras[username];

thislblEmailText = paras[email];

}

运行后可以看到与上面的效果一致

总结

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

               

上一篇:ASP.Net网络数据库:修改数据库

下一篇:浅析ASP.NET 2.0 Client Callback