zoukankan      html  css  js  c++  java
  • 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

    部分截图

    部分知识点

    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"}]



    自定义区域[首页]

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

    原理:生成对应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)上传了图片,则会覆盖随机的装饰图。

    感谢阅读。

     
    分类: MVC3
    标签: mvc3 yqblog
  • 相关阅读:
    HTML DOM教程 14HTML DOM Document 对象
    HTML DOM教程 19HTML DOM Button 对象
    HTML DOM教程 22HTML DOM Form 对象
    HTML DOM教程 16HTML DOM Area 对象
    ubuntu 11.04 问题 小结
    VC6.0的 错误解决办法 小结
    boot.img的解包与打包
    shell里 截取字符串
    从零 使用vc
    Imagemagick 对图片 大小 和 格式的 调整
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2563592.html
Copyright © 2011-2022 走看看