VS2008.Net下使用WPF开发Web应用程序小例
胖客户端的好处是可以轻易的实现绚丽的效果, 而瘦客户端则需要大量的js才能实现相应的效果.
而且当需要同时开发应用程序和Web应用程序时, 则需要将近双倍的开发时间.
但是,在VS2008.Net下使用WPF技术, 则不但可以轻松地在Web上实现应用程序的效果, 而且可以很简单的将应用程序转换成Web应用程序.
1. 新建->项目->WPF Web Application
2. 修改Page1.xaml
<Page x:Class="WPFWebTest.Page1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Page1">
<Grid>
<StackPanel>
<TextBox Name="tbName"/>
<Button Name="btnWelcome" Click="btnWelcome_Click" Content="Hi"/>
<Label Name="lblWelcome"/>
</StackPanel>
</Grid>
</Page>
3. 修改Page1.xaml.cs
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
}
private void btnWelcome_Click(object sender, RoutedEventArgs e)
{
lblWelcome.Content = "Welcome " + tbName.Text;
}
}
3. Build->Publish
注意, 只能使用IE浏览器.
ASP.NET AJAX的发布代表着微软进入了Ajax开发领域当中。这个框架,是建立在原来的ASP.NET2.0基础上的,让Web开发人员在大概几分钟内就可以把能够激活Ajax控制添加进已经存在的应用程序当中。
ASP.NET AJAX确实是一般锋刃的刀,但是,这仅仅才刚刚开始。Scott Guthrie,.NET开发平台的主要负责人在DevConnections大会的政治性集会中的关键演讲中这样说道。
真正的吸引目光的东西将会随着Windows Presentation Foundation Everywhere(WPF/E)来临。WPF/E现在正处于CTP阶段,估计在夏季会进入第二步测试阶段。伴随着WPE/E——它被一些人称为Flash杀手——视频、MP3文件,矢量化图片可以在浏览器中运行。(而且并不是仅仅能在IE中运行,因为WPF/E是既能在浏览器有可以在不可知的平台上运行的。)
这些用本土的Visual Basic或者C#代码就可以实现,Guthrie说道。那是因为这些UI元素都是被称为XAML(扩展的应用程序标记语言)的代码在背后支持着。
“你可以开始建立用户体验。那种体现能够真正的开始像人们预期的那样对浏览器的缺陷不断的推进。”他说。
这个概念的演示例证就是WindowsVista.si,一个被几个斯洛文尼亚的学生通过一周时间开发出来的网站,Guthrie这样说道,这些开发者决定使用WPF/E去建立一个WIndowsVIsta、
打开这个网站之后,Guthrie点开了一段视频。这段视频是链接一个数千里以外的服务器的。而仅仅用浏览器就可以将它打开。“这就是WPF/E模拟的在Firefox浏览器中运行的Windows Media Player。”Guthrie说道。“这是在Ajax技术应用上实现的。而如果在标准的html上做到这些是极为困难的。”
另外Visual Studio也是一个提高Web应用程序开发的工具之一。“代号为Orcas的Visual Studio,”Guthrie言语中所指的是几周内将要发布的贝塔版本。
对于那些初学者而言,这个ASP.NET AJAX框架,IC交易网现在都可以通过下载的方式得到。这会直接和Visual Studio融为一体。
除此之外,Orcas还提供了JavaScript IntelliSense。这个工具包括了JavaScript库里的文档内容,并且支持服务器端的JavaScript调试。
我们再回到ASP.NET AJAX是个锋刃的刀的话题——在数百人当中仅仅有一少部分人声称他们使用过这一框架IC交易网——Guthrie也在他的演讲中花了一些时间介绍现在开发人员能够在今天的科技的帮助下做什么。
Guthrie以一个简单的ASP.NET 2.0的应用程序作为开头,通过GridView控件,跳到顺着向下移动的列表当中。添加了两个Ajax扩展,脚本管理和升级面板,将GridView控件嵌入“Ajax库内”这样就可以将这个页面上的任何其他的东西独立的升级了。
Guthrie也指出:升级过程控制的扩展,什么时候使用,本质上是Ajax帮助下的任何ASP.NET的控制。
“在没有任何需要安装的情况下,我们可以从无到有的建立一个数据驱动的页。”他说。“没有理由不把Ajax整合到你的解决方案当中,来开始利用他的优势。”