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

简介: 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 来获取这些消息,并在视图中显示它们。

相关文章
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
65 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
100 5
|
2月前
|
前端开发 数据库连接 数据库
ASP.NETMVC数据库完整CRUD操作示例
ASP.NETMVC数据库完整CRUD操作示例
32 0
|
2月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
33 0
|
3月前
|
开发框架 安全 搜索推荐
分享105个NET源码ASP源码,总有一款适合您
分享105个NET源码ASP源码,总有一款适合您
28 4
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
43 0
|
8月前
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
117 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
[回馈]ASP.NET Core MVC开发实战之商城系统(三)
67 0
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
[回馈]ASP.NET Core MVC开发实战之商城系统(一)
113 0