像比如obj = documentgetElementByName(name)之类的方法 web控件是有的
如果winform 和 webform不在同一个项目中,就 webform留接口出来,用winform,webform程序间传值,这样简单得多,就可以不用socket,而且不用自己去分析> 如果你看了最近微软的议程,你会发现他们现在的焦点除了MVC,还是MVC。问题在于为什么微软如此热衷于丢弃传统的APSNET Webform而转向ASPNET MVC?本文就主要来讨论这个问题。
ASPNET Webform 后台代码(behind code)—— 福音与诅咒
如果你密切关注过ASPNET Webform技术,你会发现它更接近可视化设计,换句话说,开发者只需要从设计面板中拖拽控件即可完成UI,接着在behind code中实现逻辑代码即可完成最后的Web页面功能。
所以换句话说,当你从设计面板中拖拽一个按钮时,在后台代码中就会生成一个button对象,你只需要在按钮的点击事件中实现事件响应代码即可。
public partial class WebForm1 : SystemWebUIPage
{
protected void Page_Load(object sender, EventArgs e)
{
// Developers write code here
}
protected void Button1_Click(object sender, EventArgs e)
{
// Developers write code here
}
}
当我们在页面中拖拽一些UI元素时,双击它们即可在后台代码中生成一系列事件响应代码,这些逻辑代码都在ASPXCS文件中。
这个后台代码文件是ASPNET Webform的关键,你可以在这个文件中应用NET的所以特性,包括事件、委托、>1)首先,浏览器只认识(也就是只能识别并显示)HTML格式的内容(这个是国际标准)。一般地,浏览器通过URL请求Web服务器,服务器响应请求并向浏览器输出HTML格式的内容;
2)一个WebForm中,既有HTML内容又有非HTML内容(如后台代码,ASPNET控件等等)。因为不是“纯粹的HTML”,如果直接输出给浏览器,浏览器根本不认识。
3)这个时候IIS的作用体现出来啦:浏览器向IIS(Web服务器)请求一个WebForm,IIS接收到请求后,找到浏览器所请求的aspx文件,然后
将aspx文件中后台代码、ASPNET控件等非HTML内容转换成标准的HTML格式的内容!这时,被请求的aspx文件,实际已经变成了标准的
HTML格式的内容了。IIS最后将转换后的HTML文件输出到浏览器,浏览器就可以正常显示了。
4)page_load事件是在IIS开始处理aspx时引发的事件ProcessStart(ServerMapPath())
==
这个Process是当前计算机的进程(实际上是web服务器所在计算机的进程),当你在本机运行的时候客户端就是服务器,所以可以看到效果。
当你把网站发布到服务器后,服务器上打开一个文件,客户端又怎么能看到呢?
MVC与WebForm最大的区别
使用ASPNET MVC框架,创建默认项目,第一直观感觉就是地址都是Rewrite过的。对源码和配置文件稍加分析不难看出,MVC使用了>
分析了MVC的工作工程,就可以对比其与WebForm的区别了。我们知道,MVC模式的业务被放置到Controller中去执行,而aspx页面只负责显示。那么在MVC中的业务实际执行时间被提前到了>
图1 MVC工作模型
MVC工作的优点是显然的,更加有利于理解分层逻辑,把握代码的层次感。Controller到aspx页面之间的过程,已经被框架隔离。至于Controller或者View页面与Model调用的过程,还是需要自己来把握。ASPNET的MVC框架实现了Controller代码的单独管理。
而看WebForm开发模型,则只在>
从以上分析可以看出,MVC框架具有很强的优越性,而WebForm也不是一无是处,在简单的应用中更加容易开发。WebForm也是可以实现和MVC一样的分层方式,只是处理时需要多写一些代码而已。而我认为,在用WebForm开发分层遇到的最大问题是页面与页面之间数据的传递问题,而掌握好WebForm中使用服务器端跳转的应用技巧(ServerExecute,ServerTransfer或者ContextRewritePath)进行开发就可以解决数据传输问题,用WebForm开发比MVC框架更容易理解,不会产生复杂的配置,也是一个很不错的选择
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)