用Taurus.MVC 做个企业站(上)
前言:
之前是打算写一篇文章叫:Taurus.MVC 从入门到精通,一篇完事篇!
后来转指一念,还是把教程集在这个企业站项目上吧!!!
企业站风格:
之前发过一个帮师妹写的企业站:最近花了几个夜晚帮师妹整了一个企业网站
技术风格是:文本数据库(txt)+WebForm
转型的风格:文本数据库(txt)+Taurus.MVC
今天要完成的界面主要是首页:

OK,下面开始,看看一步一步怎么从无到有的做这个企业项目:
1:新建ASP.NET空的Web应用程序项目:

2:添加一个类库项目,叫Taurus.Controllers

3:在Taurus.Controllers项目上用Nuget引用Taurus.MVC:

当然,你也可以用源码项目,或者找到源码里的两个DLL添加引用:

注意EnterPriseSite项目需要引用Taurus.Controllers项目,毕竟编绎后的DLL要集中在EnterPriseSite项目上的。
4:在EnterPriseSite项目上添加Views文件夹,和几个空页面:
default.html等页面没放到default文件夹,是不对的,后面的截图会修正。

5:从原WebForm项目里把Style、App_Data目录下的文本数据库Copy过来:
顺便把项目名称改成EnterPriseSite.View

6:把原项目的用户控件的html标签Copy过来,放到Shared目录下master.html里:


用Taurus.MVC的时候,就木有Repeater的概念了,只有Html和JS。
有业务条件代码的,可以用JS处理,也可以后台处理,这里先用Js处理(后面有演示后台处理的):

模板页的节点可以随便放的,只要节点有名称(id或name),就可以被其它html引用。
引用的属性名称可以是id,name或者个别tag如(head,body,title,script,style,form,meta,link)
所以你能用master.head,master,body,master.title,master.script(都只取第一个节点)...
7:从原来的界面复制Default页面的标签过来:
原来的Default.aspx:

现在Default.html

界面都搞完了,现在开始要写代码了:
8:新建DefaultController.cs,同时把CodeFirst的几个表类Copy过来:
弄了个Logic文件夹来放,项目简单的时候,就不想建太多工程,用文件夹了:

然后,写几个方法上去,这样才能加载到对应的html文件:

所以html都是放在/views/default/目录下的。
补充说明:
默认访问路径是:localhost/default/index、locahost/default/artilelist...
为了把default去掉,默认的路由我补充了一个;以前路由模式只有1和2,现在多了个0。
9:看看Web.Config配置:

10:写逻辑代码绑定页面:
由于项目简单,我把业务逻辑,直接建了一个类,扔Controller里面了,叫DefaultLogic。
为了分层清晰,同学们还是自己新建一个Taurus.Logic类库项目放。
逻辑类需要继承自Taurus.Core.LogicBase,这样才能传递View对象到逻辑类中,注意有构造函数哦。

由于html的节点id按约定:表名View,所以Bind(View)就可以了,不需要指定名称。

这里多了一个事件View.Onforeach,用来格式化界面呈现的时间的:

当然后台不先格式好化,那就前台去处理了,就像上面的截图中有一个是用JS处理的代码。
11:Controller调用逻辑代码,渲染页面:

最后,一个漂亮的首页就出来了:

打完收工:
后续几个页面,包括文章列表,文章详情、产品中心,还有后台管理,下篇再介绍。
以前都是整个项目做完再写文章的,现在项目写一半,文章补一篇,哈。。。
已完成的部分源码:http://code.taobao.org/svn/cyqopen/trunk/Taurus.MVC.GettingStarted
感谢大伙支持!!!
用Taurus.MVC 做个企业站(上)的更多相关文章
- 用Taurus.MVC 做个企业站(下)
前言: 上一篇完成了首页,这一篇就把剩下的几个功能给作了吧. 包括文章列表.文章详情和产品展示. 1:文章列表: 原来的ArticleList.aspx 1:现在的articlelist.html 除 ...
- 企业站如何做长尾关键词seo优化
http://www.wocaoseo.com/thread-315-1-1.html 很多企业站,优化到一定程度后网站的流量很快就上去了,但是之后网站就无法更进一步.那么对于普通中小型企业站 ...
- 企业站做seo用什么程序好
http://www.wocaoseo.com/thread-306-1-1.html 随着互联网的兴起,越来越多的人通过网络来了解自已想了解的资讯,网络营销已经慢慢的取代了传统的营销模式.很多企业现 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- 开源:Taurus.MVC 框架
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- Taurus.MVC
开源:Taurus.MVC 框架 为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate ...
- 开源:Taurus.MVC 框架 (已支持.NET Core)
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- Taurus.MVC 2.0 开源发布:WebAPI开发教程
背景: 有用户反映,Tausus.MVC 能写WebAPI么? 能! 教程呢? 嗯,木有! 好吧,刚好2.0出来,就带上WEBAPI教程了! 开源地址: https://github.com/cyq1 ...
- PHPCMS企业站制作
安装 将下载好的文件放到www目录下 地址栏中输入 http://localhost:8080/phpcms/install_package/install 打开安装页面 进行安装即可. 如果出现: ...
随机推荐
- [APUE]进程控制(上)
一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是init进程,在自举(bootstr ...
- React 入门教程
React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...
- Asp.Net MVC中使用StreamReader读取“Post body”之应用场景。
场景:有三个市场(Global.China.USA),对前台传过来的数据有些验证需要细化到每个市场去完成. 所以就出现了基类(Global)和派生类(China.USA) 定义基类(Global)Pe ...
- JavaScript的继承实现方式
1.使用call或apply方法,将父对象的构造函数绑定在子对象上 function A(){ this.name = 'json'; } function B(){ A.call(this); } ...
- [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密
string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string ...
- 敏捷转型历程 - Sprint4 回顾会
我: Tech Leader 团队:团队成员分布在两个城市,我所在的城市包括我有4个成员,另外一个城市包括SM有7个成员.另外由于我们的BA离职了,我暂代IT 的PO 职位.PM和我在一个城市,但他不 ...
- 基于jQuery左右滑动切换特效 附源码
分享一款基于脚jQuery左右滑动切换特效.这是一款鼠标点击左右箭头按钮图片滚动切换,鼠标移到图片上显示透明边框特效. 效果图如下: 废话不多说,代码奉上! html代码: <div ...
- Android快乐贪吃蛇游戏实战项目开发教程-06虚拟方向键(五)绘制方向键箭头
本系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html本系列教程项目源码GitHub地址:https://github.com/jack ...
- RTP与RTCP协议介绍(转载)
RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.RTP中没有连接的概念,本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完 ...
- BZOJ 3626: [LNOI2014]LCA [树链剖分 离线|主席树]
3626: [LNOI2014]LCA Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2050 Solved: 817[Submit][Status ...