YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

演示地址 后台管理为注册用户权限 注册登录即可 屏蔽了修改/删除功能
下载地址

开发环境: Visual Studio 2010(MVC3) + SQL2005
运行环境: .net framework 4.0 + SQL2005


网站架构
MVC3+EF4.0+SQLSERVER2005+JSON+XML

网站结构
权限:.net  membership
文章分类:category.js(json格式存储)
文章内容:表 blog_article,blog_articledetail 以及 视图 blog_varticle
配置信息:general.config

部分截图

YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

 

YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

 

部分知识点

Json
Json的序列化以及反序列化,主要是文章分类信息部分。

Xml
xml的序列化以及反序列化,配置信息general.config 部分。

Ajax异步:Jquery方式以及MVC方式
评论提交,评论显示,文章推荐等

Jquery
程序中的js基于jquery编写
用到的一些jquery插件:
jquery.lazyload.js:图片预加载
jquery.pager.js:分页
jquery.dragsort.js:拖曳排序
jquery.ui.datepicker.js:日期控件
jquery.ad-gallery.js:相册
jquery.uploadify-3.1.js:多文件(图片)上传

kindeditor编辑器
kindeditor编辑器在mvc3中的应用,主要是文件(图片)上传部分的改造

SyndicationFeed
文章以及评论rss

Ninject
实现Models层与Controllers之间的依赖注入

HtmlAgilityPack
HTML解析,url投稿功能处有用到


部分功能设计:


自定义url

分类页以及文章页都可以自定义自己的url、


定义前:
http://www.yqhome.net/cate/11
定义后:
http://www.yqhome.net/mvc/


自定义视图

MVC控制器中返回视图的语句return view() 返回同名视图,return view(“xxx”)则返回指定名称的视图,基于此,实现了控制器与视图间的“依赖注入”。当我们一些页面需要有特殊界面结构或者设计时可以用到。


全球化,多国语言
利用ASP.NET中内置的资源文件实现,目前已实现简体,繁体,英文三个版本。


多国语言与固定url

利用mvc的area路由功能实现了不同语言的固定url.
英文版:http://www.yqhome.net/en-us/
繁体版:http://www.yqhome.net/zh-tw/
简体版:http://www.yqhome.net/zh-cn/

http://www.yqhome.net/ 指向你在后台配置管理中指定的那个语言版本


url投稿:

假如我们在博客园看到一篇不错的文章想要转载到自己的网站上,复制粘贴经常会多出或者漏掉一些节点对象。这个功能就是把你认为常用的网站文档结构写入到配置文件里。接下来你只需要复制url就可以完成文章转载,同时文章末尾会自动加上原作者以及出处信息。

功能只是简单的实现了class或者id的节点对象,暂不支持复杂的path查找。
eg:
[{"Author":"#Header1_HeaderTitle","Content":"#cnblogs_post_body","Id":"1","Name":"cnblogs.com","Title":"#cb_post_title_url"}]
YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统


自定义区域[首页]

你可以放入友情链接,网站公告,博客调用等内容,首页的内容总是差异很大,这里通过“自定义区域[首页]”来实现首页内容的定制。你也可以把内容直接写到视图中,但通过自定义区域的功能则可以更灵活的对内容进行即时修改删除。

原理:生成对应id的ViewData文章对象


自定义区域[全网]

跟“自定义区域[首页]”实现类似,但它是作用于全网的。这里利用了MVC的全局过滤器。当你需要在网站部署广告时,你或许可以利用这个功能。


模板切换

MVC可以灵活的更改视图默认路径。结合强大的Razor视图引擎。可以很容易实现相同网站但风格,结构迥异的视图页面。这应该是MVC分层模型一个很赞的体现。

原理:指定站点当前视图路径(为空表示MVC默认的views路径)


相册缩略图:

有时候一张图片我们可能需要不同的显示尺寸。这里可以定义在相册上传时候生成0到多个不同尺寸的缩略图。
Eg:200x200,300x300


装饰图

有时候页面只有文字会显得很枯燥。我发现不少博客都是图文并茂的,有的也是作者随机上传的一些漂亮插图。于是实现了这个功能。
操作:
1, 图片放入到imgae下的decorate文件夹内。以1001—1xxx命名。Default.jpg未图片延迟加载钱的预加载图片。
2, 视图页面中调用:@item. Decorate (随机生成1001—1xxx中的一张,相邻不会重复)
3, 如果内容管理的摘要中(summary)上传了图片,则会覆盖随机的装饰图。
YQBlog - 基于Asp.Net MVC3 EF4.0技术的个人博客系统

 

感谢阅读。

 
分类:  MVC3
标签:  mvc3 yqblog

你可能感兴趣的:(MVC3,yqblog)