• 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
  • 相关阅读:
    C++ FFLIB之FFXML: 极简化TinyXml 读取
    使用ffpython嵌入和扩展python
    Json 备忘录
    一位软件工程师的6年工作总结
    Sql Server 备忘录
    走出软件作坊
    asp.net 使用Jquery 调用WebService返回JSON 类型数据
    .NET 页面间传值的几种方法
    CKeditor安全使用
    新浪短信Web Service
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2563592.html
Copyright © 2020-2023  润新知