Silverlight传值实现 - 面向对象网,web开发,silverlight,学习,对象 - 面向对象技术开发

面向对象技术开发

会员投稿 投稿指南 站长资讯通告:
您的位置: 首页 > Web开发 > Silverlight > 正文

Silverlight传值实现

来源: www.bianceng.cn 阅读:

许多开发者在从.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();
         }

Tags:
相关文章列表: