asp.netmvc开源代码(aspnet mvc项目源码)
admin 发布:2022-12-19 23:01 146
今天给各位分享asp.netmvc开源代码的知识,其中也会对aspnet mvc项目源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、有没有比较好的.net MVC开源CMS推荐
- 2、Asp.net mvc和asp.net有什么区别?
- 3、请大侠们赐予一个asp.net mvc开源框架的名称吧
- 4、关于.NET MVC4 Action 方法返回JsonResult和返回String类型的区别
有没有比较好的.net MVC开源CMS推荐
DotNetNuke
DotNetNuke(简称DNN)是一个免费的、开源的、可扩展的内容管理系统,是建立在 ASP.NET 平台上的Web应用框架。
mojoPortal
mojoPortal是一款C#开发的面向对象网站框架,它可以运行于Windows的ASP.NET 和GNU/Linux 或Mac OS X的Mono的平台上。
Umbraco
Umbraco是一个开放源码的CMS内容管理系统,基于asp.net建立,使用mssql进行存储数据。 使用Umbraco ,设计师能创造出有效的XHTML标记模板和开发人员可以创建任何基于.Net的模块。主要特点包括:
漂亮,友好的用户界面
综合所见即所得编辑器
支持编辑在Microsoft Word
全部源代码可用(开放源代码)
超级简单的模板引擎
完全支持Web标准
Cuyahoga
Cuyahoga是C#开发的灵活的CMS / Portal 解决方案。它可以运行于Microsoft .NET 和Mono 平台,支持SQL Server, PostgreSQL或MySQL作为底层数据库。
N2 CMS
N2CMS 是一款轻量级的cms框架,它能帮你建立一个人人都能够更新的大站点.网站内容编辑者将享有一个简单且功能强大的WEB界面,同时开发者将享有一个友好的API这使得建站变得快速和有趣.
TheBeerHouse
TheBeerHouse 是一个采用微软 MVC 框架开发的 CMS 和电子商务网站
Kooboo
Kooboo是一个基于ASP.NET MVC的CMS系统,实现面向企业级的内容管理解决方案和快速开发。
Kooboo具有如下主要特性:
-- 基于角色的用户管理
--无限制的用户和站点
--实现各种验证
--内容版本控制
--工作流控制
--布局和内容模板
Asp.net mvc和asp.net有什么区别?
区别:
一、ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型。(历史挺长远的)使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。
MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NET MVC。可将原来的ASP.NET称为 ASP.NET Webforms,新的MVC 称为ASP.NET MVC。
MVC是软件架构的一种模式,可以说就相当于常说的设计模式。其中主要包括三个模块,顾名思义。就如MVC名字所显示的那样:模型(Model),视图(View),控制器(Controller)。mvc中的模型(Model)和视图(View )是完全区别于三层架构中的模型(Model)和视图(View)的。
二、Asp.net微软提供web开发框架或者技术。分Web Form和ASP.NET MVC。下面简单说明各自优缺点。
Web Form
优点:
WebForm优点
1、支持丰富的服务器控件。
2、支持视图状态,每个控件状态以“隐藏域”的形式存在当前表单页面来达到“有状态”,这就是ViewState
3、基于事件驱动编程,如:click事件等,aspx页面与cs文件分离,即显示逻辑与处理逻辑分离,便于分工,美工、编程。
4、学习成本低。
缺点:
1、站在项目架构的角度,web form不是很理想架构模式,尽管可以使用经典的三层架构或者mvp,但不是最优秀的。
2、性能viewstate成功解决了asp问题,但同样引入新的问题,viewstate页面存储势必增加页面大小、降低程序性能。
3、代码可重用性不好;缺少对并行开发支持,因为aspx页面与cs紧密耦合太高;Seo不友好,因为url指定具体aspx页面;不利于单元测试,因为使用大量事件处理函数。
ASP.NET MVC
Asp.net Mvc架构模式是一种低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP.NET MVC不支持ViewState和服务器控件。
优点:
1、有对数据直接访问的权利,如:对数据库的访问;
2、模型(Model)“不依赖”视图(View)和控制器(Controller),即模型(Model)不关心它会被如何显示或者如何被操作;
3、模型(Model)中数据的变化一般会通过一种刷新机制被“公布”;
4、为了实现3中的“机制”用于监视此模型的视图必须事先在此模型上注册。从而,视图可以了解在数据模型上发生的改变。
缺点:
没有viewstate和基于事件的编程,上手慢,学习成本高。
三、使用场景:
1、快速开发------gt;web form
2、单元测试、性能--------gt;mvc
3、大量使用js、jquery------gt;mvc
4.、代码重用性-------gt;mvc
四、WebForm的开发方式
服务器端控件
一般处理程序+Html静态页+Ajax
一般处理程序+Html模板
五、模型不同
WebForm模型
MVC请求模型
DomainModel–领域模型:不仅仅是一个实体类,而是整个业务才处理流程的一个规则。
六、ViewState处理
ASP.Net MVC的开发方式。
2009年第一个开源项目版本发布。
更加简洁,更加接近原始的“请求-处理-响应”。
更加开发、更多的新的特点、社区活跃。
不会取代WebForm。
底层跟WebForm都是一样的。管道上不同的处理而已。
MVC只是表示层的一种新的方式。
MVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目。
MVC目的不是取代WebFrom开发,只是web开发的另外一种选择。
请大侠们赐予一个asp.net mvc开源框架的名称吧
ASP.net
MVC本身就是开源的框架啊。源代码的话可以从Codeplex.com上找到,是微软官方发布的。不过鉴于技术原因,已经公开的源码版本会略低于现在发行的版本。另外使用ASP.NET
MVC
基本也会用到Entity
Framework,或者NHibernate,作为数据访问框架。前端页面设计的话基本就是使用jQuery和jQuery
UI比较多吧,因为比较成熟了。做商务逻辑比较复杂的交互表单页面的话,推荐使用Telerik
MVC扩展,这里扩展了许多MVC中常用的控件技术,而且风格完全融合于ASP.NET
MVC。其实很多框架插件你可以通过VS的自带扩展功能添加,有点类似于苹果过的应用商店,可以去看一下哦
关于.NET MVC4 Action 方法返回JsonResult和返回String类型的区别
让ASP.NET MVC页面返回不同类型的内容
在ASP.NET MVC的controller中大部分方法返回的都是ActionResult,更确切的是ViewResult。它返回了一个View,一般情况下是一个HTML页面。但是在某些情况下我们可能并不需要返回一个View,我们可能需要的是一个字符串,一个json或xml格式的文本,一个图片。
ActionResult是一个抽象类,我们平时比较常用的ViewResult是它的派生类,所以我们也可以写一个StringResult、XmlResult、ImageResult来实现上面提到的需求。由于返回字符串可以有更简单的方法,直接将需要返回字符串的方法的返回值设置成string型就可以了,JsonResult在ASP.NET MVC中已经有提供。所以下面只演示XmlResult和ImageResult。
ASP.NET MVC项目是开源的(可以在下载源代码),所以我们可以参考其中ViewResult和JsonResult的代码进行改写。主要的思路是设置返回数据流HTTP Header中的Content-Type,然后将要返回的内容写入Response中。
先演示XmlResult
XmlResult的代码:
1 public class XmlResult:ActionResult
2 {
3 // 可被序列化的内容
4 object Data { get; set; }
5
6 // Data的类型
7 Type DataType { get; set; }
8
9 // 构造器
10 public XmlResult(object data,Type type)
11 {
12 Data = data;
13 DataType = type;
14 }
15
16 // 主要是重写这个方法
17 public override void ExecuteResult(ControllerContext context)
18 {
19 if (context == null)
20 {
21 throw new ArgumentNullException("context");
22 }
23
24 HttpResponseBase response = context.HttpContext.Response;
25
26 // 设置 HTTP Header 的 ContentType
27 response.ContentType = "text/xml";
28
29 if (Data != null)
30 {
31 // 序列化 Data 并写入 Response
32 XmlSerializer serializer = new XmlSerializer(DataType);
33 MemoryStream ms = new MemoryStream();
34 serializer.Serialize(ms,Data);
35 response.Write(System.Text.Encoding.UTF8.GetString(ms.ToArray()));
36 }
37 }
38 }
在controller中调用它
1 public ActionResult Xml()
2 {
3 // 创建一个DemoModal对象,No属性为1,Title属性为Test
4 DemoModal dm = new DemoModal() { No = 1, Title = "Test" };
5
6 // 序列化为XML格式显示
7 XmlResult xResult = new XmlResult(dm, dm.GetType());
8 return xResult;
9 }
关于asp.netmvc开源代码和aspnet mvc项目源码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-11互联网100个创业项目,互联网100个创业项目文科
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接