掷鸡蛋者
发表于: 2013/3/8 11:21 引用 回复 只看该作者 1# TOP
管理员
性别: 男
积分:52167
阅读权限:43379
帖子: 8315
加入时间: 2010/4/29
最后登录: 2018/12/12

本文专门为新手度身定制,方便您为“我记录综合系统”增加您自己需要的功能。

【知识准备】
您对MVC有基本了解,比如最好看过 wojilu 框架的教程:http://www.wojilu.com/framework  

【教程内容】
本文分成两部分:
首先,我们演示如何开发一个最简单的程序;
然后,再示范如何调用数据库。

第一部分 Hello world, 开发一个最简单的程序

1. 用 visual studio 2010 打开源码,然后在 wojilu.Controller 项目上右键,如下图,点击“添加”-> “类”



2. 输入控制器的名称 HelloController



3. 在这个类(class)前面增加 public 单词(第7行),因为只有公开的(public)控制器,用户才能访问。


4. 然后在 HelloController 后面输入代码 “: ControllerBase”(如果怕输错,你可以从这里将这个单词复制过来,而不是直接敲)。输入完毕,你可以看到,在单词Controller的第一个字母“C”下面出现了一条短横,请把鼠标移到这条短横上面。



5.鼠标移过去之后,编辑器自动出现下拉菜单提示,请点击图标,如下图,提醒您using 一个命名空间,请点击您需要using的项目,我们这里是引用第一项 using wojilu.Web.Mvc:



6.然后编辑器会自动在代码第4行生成using的代码,如下图


总结一下:当您需要使用一个类库的功能的时候,大多数时候,都是先敲代码,而不是先写using部分。一般情况下,应该由visual studio自动帮您生成using内容。

另外,您可以在单词上同时按住“shift+alt+f10”快捷键,也会出现下拉using提示。


7.然后输入Index() 方法,并给下面用到的模板变量"msg"赋值



8.这时候,服务端代码已经写好了,您可以编译代码。做法就是,如下图,点击“生成”菜单中的“生成解决方案”



9.除了服务端代码(controller),您还需要添加前端模板(views)。一个MVC框架,光有C没有V是不行的。
如下图,在 wojilu.Web 中,进入 /framework/views 模板文件夹,在它上面右键点击“添加”->“新建文件夹”,然后新建一个 HelloController 对应的文件夹 Hello(名字就是 HelloController 去掉 Controller 后缀,剩下 的Hello这个单词)。


10. 建好 Hello 文件夹之后,我们在这个文件夹上右键点击“新建”->“新建项”



11. 然后新建一个页面模板。所有模板都必须是 .html 后缀(注意:不是 .htm 后缀,html比htm多了一个字母l)。
模板名称必须和Controller的方法对应,我们前面的 HelloContoller 刚刚建立的方法是 Index(),所以它对应的模板就是 Index.html



12.Index.html建立之后,编辑器会自动打开,请将其中内容清空,然后输入如下内容



13.因为我们这个hello world 项目没有调用数据库模型(Model),所以有 MVC 中的C(controller控制器)和V(views模板)就可以了。既然已经开发完毕,那么我们开始调试:
a)请点击 HelloController.cs 文件,让当前鼠标定位在cs文件中(任意cs文件都可以)。注意:这里不能将鼠标定位在html模板中,否则vs会调试html文件,而html是无法调试的。
b)然后请点击菜单“调试”->“启动调试”



14. 调试开始,浏览器会自动打开,比如 localhot:5111,这时候,你需要在网址加上 /Hello/Index.aspx 路径并回车。它表示调用 HelloController 的 Index() 方法,下图是调用结果:

还行,在控制器中,给变量msg赋予的值成功在页面中呈现。

15.既然 hello world 项目开发、调试都成功,现在可以停止调试,否则无法继续写代码。
如下图,点击“调试”菜单中的“停止调试”



第二部分 调用数据库内容

1. 打开模板 /framework/views/Hello/Index.html,如下图,增加绑定博客数据的代码

循环列表用 BEGIN 和 END 的注释包围,中间不要有多余空格,BEGIN 和END都是大写。

2. 打开 HelloController,开始调用博客内容。请输入如下内容,当你完整输入BlogPost之后,编辑器会自动出现一个下划线短横:



3. 将鼠标移过去,然后根据 vs 提示,引用需要的命名空间:


4. 然后继续输入如下代码


5. 开始调试,并访问 /Hello/Index.aspx 路径,结果如下:

嗯,成功调用了博客内容。

如果你要调用其他功能,比如论坛、CMS等,请到 wojlu 源码中查找,主要在 wojilu.Apps 中,如下图:


关键词 二次开发, 入门 修改tag
相关文章
而死,不默而生
掷鸡蛋者
发表于: 2013/3/8 11:27 引用 回复 只看该作者 2# TOP
管理员
性别: 男
积分:52167
阅读权限:43379
帖子: 8315
加入时间: 2010/4/29
最后登录: 2018/12/12

最近发现,有些细节没有解释清楚,但对于新手,往往是很大的障碍,比如“如何添加using引用”此类内容。如有问题,欢迎补充。

而死,不默而生
imneo
发表于: 2013/3/8 12:16 引用 回复 只看该作者 3# TOP
版主
性别: 保密
积分:1083
阅读权限:1256
帖子: 278
加入时间: 2012/4/10
最后登录: 2013/10/25

 看到蛋哥用我写的插件,倍感荣兴。

掷鸡蛋者
发表于: 2013/3/8 12:20 引用 回复 只看该作者 4# TOP
管理员
性别: 男
积分:52167
阅读权限:43379
帖子: 8315
加入时间: 2010/4/29
最后登录: 2018/12/12

这个插件很有用

而死,不默而生
天朝禽爆菊
发表于: 2013/3/8 17:56 引用 回复 只看该作者 5# TOP
江湖少侠
性别: 男
积分:414
阅读权限:480
帖子: 118
加入时间: 2012/3/19
最后登录: 2018/11/15

 

有钱男子汉、没钱汉子难
haimen
发表于: 2013/3/8 20:30 引用 回复 只看该作者 6# TOP
江湖少侠
性别: 男
积分:345
阅读权限:296
帖子: 95
加入时间: 2010/7/19
最后登录: 2016/3/28

xszu
发表于: 2013/3/9 11:32 引用 回复 只看该作者 7# TOP
江湖豪侠
性别: 男
积分:1377
阅读权限:2350
帖子: 528
加入时间: 2012/4/13
最后登录: 2014/7/18

 看到有QQ登录了   

蜂蜜 12306 43399小游戏 星星动漫
matthew
发表于: 2013/9/29 9:13 引用 回复 只看该作者 8# TOP
江湖新秀
性别: 男
积分:94
阅读权限:14
帖子: 2
加入时间: 2013/9/21
最后登录: 2013/10/11

第一部分 第8步骤:生产解决方案,提示好多错误:

matthew
发表于: 2013/10/6 9:39 引用 回复 只看该作者 9# TOP
江湖新秀
性别: 男
积分:94
阅读权限:14
帖子: 2
加入时间: 2013/9/21
最后登录: 2013/10/11

蛋哥哥,帮忙看看以下错误怎么解决?

   if (Nodes.Count() > 0) {

                        logInfo( "匹配列表内容成功", s, sb );

                        target = Nodes.ToArray()[0].OuterHtml;

                        target = target.Trim();

                        return target;

                    }

---

错误 2520 在以下方法或属性之间的调用不明确:“System.Linq.Enumerable.Count<HtmlAgilityPack.HtmlNode>(System.Collections.Generic.IEnumerable<HtmlAgilityPack.HtmlNode>)”和“System.Linq.Enumerable.Count<HtmlAgilityPack.HtmlNode>(System.Collections.Generic.IEnumerable<HtmlAgilityPack.HtmlNode>)” D:\wojilu\wojilu-1.9final\wojilu.Core\Common\Spider\Service\SpiderTool.cs 210 25 wojilu.Core


来者
发表于: 2013/10/7 12:09 引用 回复 只看该作者 10# TOP
版主
性别: 男
积分:250
阅读权限:170
帖子: 50
加入时间: 2013/9/26
最后登录: 2015/1/21

支持下蛋哥!

快速回复主题