Silverlight传值实现

许多开发者在从.NET网站开发向Silverlight转型过程中往往都会经历一个比较郁闷的过度期: Silverlight作为镶嵌在网页中的插件,如何能像传统ASP.NET网页一样实现页面切换及参数传递等问题时常捆 饶着大家。解决之道我们还得从本质谈起。

ASP.NET网站主要是基于服务器端的开发(runat="server");由于在服务器中运行,因此ASPX动态页面操作 的都是服务器端对象,比如访问服务器中的数据库等;而Silverlight则是标准的客户端插件(<object …) ,如果去掉它的网页外壳(out-of-browser),它的形态与客户端软件几乎无差别,在安全使用范围内它能与用 户的电脑直接进行数据交互;相反,如果想通过Silverlight去访问网络上某台服务器中的数据库,则必须劳 驾第三者如WCF等作为传输中介。

因此,对于初学Silverlight的朋友我强烈建议大家深刻分清楚 服务器端 与 客户端 的区别,就像当初在 学习ASP.NET时,必须分清服务器端控件与客户端控件的区别一样。

大家先看个例子:我们创建一个Silverlight应用程序网站,此时整个解决方案中将包含两个项目分别为 Silverlight项目和Web网站项目,为了进行对比分析,我们在Web网站项目中添加一个ASP.NET页面,然后分别 在该两个项目中均编写代码一模一样的静态类Global.cs:

public static class Global {
         public static int num = 50;
}

接着在Index.aspx页面中添加一个按钮,每次点击时num值增加50:

Index.aspx:

<div>
         <asp:Button ID="button1" Text="确定" runat="server" OnClick="button1_OnClick" />
         <asp:TextBox ID="textBox1" runat="server" />
     </div>

Index.aspx.cs:

protected void button1_OnClick(object sender, EventArgs e) {
             Global.num += 50;
             textBox1.Text = Global.num.ToString();
         }

同样在MainPage.xaml中添加一个按钮,每次点击时num值也增加50:

MainPage.xaml:

<Canvas>
         <Button x:Name="button1" Content="确定" Click="button1_Click"/>
         <TextBox x:Name="textBox1" Canvas.Left="30" Width="85" />
     </Canvas>

MainPage.xaml.cs

private void Button1_Click(object sender, RoutedEventArgs e) {
             Global.num += 50;
             textBox1.Text = Global.num.ToString();
         }

时间: 2024-11-03 21:54:41

Silverlight传值实现的相关文章

silverlight 窗体切换 与 窗体之间传值 的实现

1.只有切換頁面 2.加上頁面傳值的功能 第一部份:切換頁面 同樣的先建立一個新的Silverlight專案 分別建立兩個User Control,並且名命為PageSwitcher.Page2   建立完成的結果 接著修改PageSwitcher.xaml.cs  public partial class PageSwitcher : UserControl    {        public PageSwitcher()        {            InitializeComp

silverlight 窗体切换 与 窗体之间传值的实现

1.只有切換頁面 2.加上頁面傳值的功能 第一部份:切換頁面 同樣的先建立一個新的Silverlight專案 分別建立兩個User Control,並且名命為PageSwitcher.Page2   建立完成的結果 接著修改PageSwitcher.xaml.cs  public partial class PageSwitcher : UserControl    {        public PageSwitcher()        {            InitializeComp

Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)

在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示   本节完后,同时会更新Silverlight+WCF 新手实例 象棋 专题索引,并顺路提供第八阶段源码   在Silverlight+WCF 新手实例 象棋 主界面-棋谱-布局写谱(三十六)节中,我们完成了下棋双方的棋谱传递 在Silverlight+WCF 新手实例 象棋 主界面-棋谱-获取列表(三十八)节中,我们完成了观棋者获取棋谱列表 在本节中,我们要进行最一步了,棋谱回放: 首先,当用户进入列表后,获取完棋谱信息之

Silverlight实用窍门系列:37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)【附带实例源码】

在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名为SLConnectASP.NET的Silverlight应用程序,然后在SLConnectASP.NET.web项目中添加一个Index.aspx的页面. 一.Silverlight和ASPX页面的QueryString传参 实现思路:在Silverlight端跳转到页面到Index.aspx并且传递一个QueryString参数ID,在该Index.asp

SilverLight中Asp.net session 用法分析

由于silverlight是客户端,不能够支持session,但我们有时确实需要使用这个session,比如通过asp教程.net登录页面登陆,记录下session后,我现在想在silverlight中使用这个session,有朋友想到可以用url参数传值,假如这个session表示权限管理的一种,用url传至是很危险的,这里给大家一个解决办法,虽然不是绝对安全,但是我们可以通过加密方式确保其最大安全.         silverlight可以调用js函数,我们就在宿主页面的js函数里返回se

Silverlight网络寻奇 at 090407

把.net程序集转化为Silverlight专用程序集的工具 http://biofractal.blogspot.com/2009/03/convert-dotnet-assemblies-to.html 一个专门为Silverlight RiaService制作数据层的东东 http://biofractal.blogspot.com/2009/03/domain-driven-db4o-silverlight-3-ria.html Silverlight 3 中 Pixel Effect详

一起谈.NET技术,WPF/Silverlight深度解决方案:目录

介于目前WPF/Silverlight技术资料在国内相当稀缺,仅有的也是一些很基础的教程.为了更深度的剖析WPF/Silverlight的技术内涵,解决开发过程中的疑难杂症,分解实际应用案例的特色细节,"WPF/Silverlight深度解决方案"系列由此孕育而生.整个系列的所有文章均为原创,由本人的个人开发经验结合相关资料编写而成,过程中难免有错漏或不妥当的地方还望各位读者友善的指出.我们的目标只有一个:WPF/Silverlight技术深度挖掘.如果您有符合本系列主题的内容想要与大

WPF/Silverlight深度解决方案:目录

介于目前WPF/Silverlight技术资料在国内相当稀缺,仅有的也是一些很基础的教程.为了更深度的剖析WPF/Silverlight的技术内涵,解决开发过程中的疑难杂症,分解实际应用案例的特色细节,"WPF/Silverlight深度解决方案"系列由此孕育而生.整个系列的所有文章均为原创,由本人的个人开发经验结合相关资料编写而成,过程中难免有错漏或不妥当的地方还望各位读者友善的指出.我们的目标只有一个:WPF/Silverlight技术深度挖掘.如果您有符合本系列主题的内容想要与大

Java是传值还是传引用

All Java method arguments are passed by value. However, Java does manipulate objects by reference, and all object variables themselves are references.(摘自http://www.javagalaxy.com:8080/Interview/index.jsp?Intv=18) Java中所有方法的参数都是传值的. 然而,Java确实是通过引用来操作对