当前位置: 首页 > news >正文

asp.net与asp.net优缺点及示例

Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP .NET MVC不支持
ViewState和服务器控件。


Asp.net优点:


1.架构降低了程序间的耦合性,M VC,分层,目标明确


2.性能不支持viewstate,完成html, 已于结合jquery使用, 提供程序性能


3.支持并行并发,可护展性好,继承asp.net特性: 表单验证、缓荐、会话等。


4.强类型View实现,更安全、更可靠、更高效


5.有利于组件的重用


6.更好的支持单元测试


缺点:


1.没有viewstate和基于事件的编程,上手慢, 学习成本高。


asp.net优点:


1.支持丰富的服务器控件。如: GridView和ListView可以绑定数据, 从而减少了大量的代码编写


2.支持视图状态,每个控件状态以“隐藏域’的形式存在当前表单页面来达到"有状态”,这就是ViewState


3.基于事件驱动编程,如: click事件 等,aspx页面 与cs文件分离,即显示逻辑与处理逻辑分离,便于分工,美工、编程。不像asp代码混乱


4.学习成本低


缺点:


1.站在项目架构的角度,web form不是很理想架构模式,尽管可以使用经典的三层架构或者mvp.,但不是最优秀的。


2.性能viewstate成功解决了asp问题,但同样引入新的问题,viewstate 页面存储势必增加页面大小、降低程序性能


3.代码可重用性不好;缺少对并行开发支持,因为aspx页面与cs紧密耦合太高; Seo不友好, 因为url指定具体aspx页面;不利于单元测
试,因为使用大量事件处理函数


4.控制不灵活


5.入门容易,提升很难
6.封装太强


以下是一个简单的 ASP.NET MVC 应用程序的代码示例,它包含了一个控制器和视图:

控制器代码(示例):

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.Mvc;  namespace MyApplication.Controllers  
{  public class HomeController : Controller  {  public ActionResult Index()  {  ViewBag.Message = "欢迎来到我的网站!";  return View();  }  public ActionResult About()  {  ViewBag.Message = "这是关于页。";  return View();  }  public ActionResult Contact()  {  ViewBag.Message = "这是联系我们页面。";  return View();  }  }  
}

视图代码(示例):

@{  ViewBag.Title = "Index";  
}  <h2>@ViewBag.Message</h2>  <p>这是主页。</p>

这是一个非常简单的示例,它显示了一个欢迎消息,并且只有三个简单的操作:Index,About 和 Contact。这些操作会返回一个视图,并将一些消息传递到视图中。视图中使用了 ViewBag 来获取这些消息,并在视图中显示它们。

http://www.lryc.cn/news/100694.html

相关文章:

  • php 年月日 分组分页
  • flutter开发实战-请求dio设置Cookie
  • C语言第十一课--------操作符的使用与分类-------基本操作
  • 2,继承、内联函数、虚继承、友元、构造析构函数、初始化列表
  • Mkdocs中利用Js实现大小圈鼠标拖动样式
  • pytorch(6)——神经网络基本骨架nn.module的使用
  • 论文精读之BERT
  • 实战:Docker+Jenkins+Gitee构建CICD流水线
  • 7.25 Qt
  • P1420 最长连号
  • UVA-1354 天平难题 题解答案代码 算法竞赛入门经典第二版
  • 电机故障诊断(python程序,模型为CNN结合LSTM)
  • ubuntu 20.04 rtc时间显示问题探究
  • 数值分析第七章节 用Python实现非线性方程与方程组的数值解法
  • 利用MATLAB制作DEM山体阴影
  • ubuntu 使用 rsync 的 SSH 方式同步备份远程WEB服务器
  • 机器学习 | Python实现NARX模型预测控制
  • M5ATOMS3基础03给ROS1发一个问候(rosserial)
  • 基于Vue3实现鼠标按下某个元素进行移动,实时改变左侧或右侧元素的宽度,以及点击收起或展开的功能
  • 使用MyBatis(2)
  • 【FPGA/D6】
  • 【WebGIS实例】(10)Cesium开场效果(场景、相机旋转,自定义图片底图)
  • 【Spring】IOC的原理
  • AI加速游戏开发 亚马逊云科技适配3大场景,打造下一代游戏体验
  • C++ | 继承(基类,父类,超类),(派生类,子类)
  • Commands Of Hadoop
  • SQL-每日一题【620.有趣的电影】
  • linux 精华总结
  • Eureka 学习笔记2:客户端 DiscoveryClient
  • okhttp原理分析