使用ASP.NET MVC2+PDF.NET 构建一个简单的新闻管理程序

简介:

 最近开始学习ASP.NET MVC技术,感觉跟原来的ASP.NET WebForm差异实在是太大了,看了2天的理论知识,才敢动手写一个实例程序。尽管是看的网上手把手的教程,如果不自己动手实践的话还是很难正真理解什么是MVC。
    在强调更好的Web用户体验前提下,程序员需要将UI的主要工作让步于美工设计人员,程序员的主要工作主要关注与后台逻辑开发,这种开发模式下,MVC无疑是最佳选择。
    ASP.NET MVC 已经从Ver1.0 升级到现在的Ver3.0了。我们的VS2010中默认集成了ASP.NET MVC2.0 ,本例程序就是使用它开发的,实例程序下载请到下面的下载地址:
http://files.cnblogs.com/bluedoctor/MvcApplication1.rar

    由于是我第一次写MVC程序,所以同样适合对MVC想入门的朋友,另外,数据访问采用了PDF.NET数据开发框架,使得程序非常简单。为方便上传,示例程序删除了ASP.NET自带的成员数据库,对“新闻”程序的运行没有影响。

 

下面是本实例程序的运行截图:
 


(列表界面)


 

(带一个jQuery 日历控件的编辑界面)

 


(查看详细界面)

 


示例程序的使用
1,首先,下载本实例程序,在VS2010中打开;
2,打开SQLSERVER企业管理器,找一个数据库,然后执行下面的创建表的脚本语句:

 

复制代码
CREATE   TABLE   [ Tb_News ] (   
[ ID ]   [ int ]   IDENTITY ( 1 , 1 )   Primary   Key   NOT   NULL ,   
[ Title ]   [ varchar ] ( 100 NOT   NULL ,   
[ CreateTime ]   [ datetime ]   NULL ,   
[ Content ]   [ varchar ] ( 2000 NULL ,  

 

)  
复制代码

 

 

3,在VS2010中打开Web.config文件,看到下面的配置节:

 

复制代码
< connectionStrings >   
< add  name ="ApplicationServices"   
connectionString
="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"   
providerName
="System.Data.SqlClient"   />   
< add  name ="default"  connectionString ="Data Source=.;Initial Catalog=TestDB;Integrated Security=True"  providerName ="SqlServer" />   
</ connectionStrings >   
复制代码

 

 

修改 name="default" 相关的 connectionString 配置中的内容,为你第2步中创建表的数据库所在的连接字符串。

providerName="SqlServer"  为PDF.NET数据开发框架的数据提供程序。

4,现在就可以按F5运行程序了,能够看到上面的运行界面。

示例过程



有关ASP.NET MVC的原理和“手把手”的示例过程,请看下面的博客,写得非常清楚:
Asp.net MVC2.0系列文章http://www.cnblogs.com/ywqu/category/250787.html

本实例程序使用了PDF.NET 数据开发框架,新闻数据的增,删,改,查非常简单,下面是实例代码:

 

 

复制代码
using  System;   
using  System.Collections.Generic;   
using  System.Linq;   
using  System.Web;   
using  MvcApplication1.Models;   
using  PWMIS.DataMap.Entity;   
namespace  MvcApplication1.Service   
{   
public   class  NewsService   
{   
public   static   bool  AddNews(AddNewsModel news)   
{   
NewsModel nm 
=   new  NewsModel();   
nm.ID 
=   0 ;   
nm.Content 
=  news.Content;   
nm.Title 
=  news.Title;   
nm.CreateTime 
=  news.CreateTime;   
EntityQuery
< NewsModel >  q  =   new  EntityQuery < NewsModel > ();   
q.Insert(nm);   
return  nm.ID > 0 ;   
}   
public   static  List < NewsModel >  GetAllNews()   
{   
OQL q 
=  OQL.From( new  NewsModel()).Select().END;   
return  EntityQuery < NewsModel > .QueryList(q);   
}   
public   static  NewsModel GetNews( int  newsID)   
{   
NewsModel nm 
=   new  NewsModel();   
nm.ID 
=  newsID;   
EntityQuery
< NewsModel > .Fill(nm);   
return  nm;   
}   
public   static   bool  EditNews(NewsModel news)   
{   
EntityQuery
< NewsModel >  q  =   new  EntityQuery < NewsModel > ();   
int  count = q.Update(news);   
return  count  >   0 ;   
}   
public   static   bool  DeleteNews(NewsModel news)   
{   
EntityQuery
< NewsModel >  q  =   new  EntityQuery < NewsModel > ();   
int  count  =  q.Delete(news);   
return  count  >   0 ;   
}   
}   
}  

复制代码

 

 

由于操作数据非常简单,我就不详细说明了,有关PDF.NET的详细信息,请看这里



    本文转自深蓝医生博客园博客,原文链接:http://www.cnblogs.com/bluedoctor/archive/2011/01/07/1930236.html,如需转载请自行联系原作者



相关文章
|
1月前
|
消息中间件 前端开发 小程序
一个基于.NET Core构建的简单、跨平台、模块化的商城系统
今天大姚给大家分享一个基于.NET Core构建的简单、跨平台、模块化、完全开源免费(MIT License)的商城系统:Module Shop。
|
4月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
75 0
|
4月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
39 0
|
15天前
|
开发框架 缓存 前端开发
利用Visual Basic构建高效的ASP.NET Web应用
【4月更文挑战第27天】本文探讨使用Visual Basic与ASP.NET创建高效Web应用的策略,包括了解两者基础、项目规划、MVC架构、数据访问与缓存、代码优化、异步编程、安全性、测试及部署维护。通过这些步骤,开发者能构建出快速、可靠且安全的Web应用,适应不断进步的技术环境。
|
13天前
|
机器学习/深度学习 自然语言处理 安全
【专栏】.NET 开发:构建智能应用的关键
【4月更文挑战第29天】本文探讨了.NET开发在构建智能应用中的关键作用,强调了其强大的框架、工具集、高效性能和跨平台支持。通过实例展示了.NET在人工智能、物联网及企业级应用中的应用。同时,指出了.NET开发面临的挑战,如技术更新的学习成本、性能优化、资源管理和安全隐私保护,并提出了应对策略。随着技术进步,.NET将在智能应用领域发挥更大作用,推动创新与便利。
|
14天前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
28 1
|
17天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
22 0
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2月前
|
开发框架 中间件 .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>(); //
83 0
|
2月前
|
开发框架 前端开发 .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,然后在重定向到另
112 5