欢迎光临
我们一直在努力

利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)

 

被仿的网站和仿照后的网站

被仿的网站-易读 

仿照后的网站-我读 

仿这个网站的目的:为了实践一下新学习的轻量级asp.net web开发框架[我记录] ,该网站比较简单,适合入门。  

 

实现章节

  章节部分,原网站实现成3列,自己要实现一个和它一模一样的效果。 

利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)

原网站章节部分网页的部分源码如下:

利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)View Code

<TABLE width=900px ALIGN=CENTER cellpadding="0" cellspacing="0" border="0"><TR><td width=33% valign=top><a href='read_213198_12131.html' >第1节</A><BR><a href='read_213201_12131.html' >第4节</A><BR><a href='read_213204_12131.html' >第7节</A><BR></td><TD width=33% valign=top><a href='read_213199_12131.html' >第2节</A><BR><a href='read_213202_12131.html' >第5节</A><BR></td><TD width=33% valign=top><a href='read_213200_12131.html' >第3节</A><BR><a href='read_213203_12131.html' >第6节</A><BR></td></TR></TABLE>


  提取出中间循环的部分,因为要分成3列,于是自己做了3个循环节,模板视图部分的代码如下:

 

利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)View Code

<TABLE WIDTH=900px ALIGN=CENTER cellpadding="0" cellspacing="0" border="0">
<TR>

<TD width=33% valign=top>
<!-- BEGIN list1 -->
<a href="#{a.ShowLink}">#{a.Title}</A><BR>
<!-- END list1 -->
</td>
<TD width=33% valign=top>
<!-- BEGIN list2 -->
<a href="#{a.ShowLink}">#{a.Title}</A><BR>
<!-- END list2 -->
</td>
<TD width=33% valign=top>
<!-- BEGIN list3 -->
<a href="#{a.ShowLink}">#{a.Title}</A><BR>
<!-- END list3 -->
</td>
</TR></TABLE>

控制器中的代码如下:

 public void Show(int id)
{

List<ArticleSection> recent = ArticleSection.find("articleId=" + id + " order by SectionNo asc").list();

IBlock block1 = getBlock("list1");
IBlock block2 = getBlock("list2");
IBlock block3 = getBlock("list3");

int nindex = 0;
ArticleSection[] asArray = recent.ToArray();
foreach (ArticleSection a in recent)
{
nIndex++;
if (nIndex % 3 == 1)
{
block1.Set("a.Title", "" + nIndex.ToString() + "");
block1.Set("a.ShowLink", to(new ArticleSectionController().Show, a.Id));
block1.Next();
}
else if(nIndex % 3 == 2)
{
block2.Set("a.Title", "" + nIndex.ToString() + "");
block2.Set("a.ShowLink", to(new ArticleSectionController().Show, a.Id));
block2.Next();
}
else if(nIndex % 3 == 0)
{
block3.Set("a.Title", "" + nIndex.ToString() + "");
block3.Set("a.ShowLink", to(new ArticleSectionController().Show, a.Id));
block3.Next();
}
}

}

 

实现上一页,下一页及返回目录

 

  内容显示部分,原网站下方有一个上一页,下一页的导航,自己要实现一个和它一模一样的效果。 

 

利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)

 

视图部分很简单,设置上一页,下一页,返回目录链接变量,代码如下:

  

利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)View Code

<TABLE WIDTH=90% ALIGN=CENTER>
<TR><TD>
<TABLE WIDTH=100%>
<TR>
<TD >
<B>#{a.Title}</B><br>
</TD>
<TD WIDTH=250 ALIGN=RIGHT valign=top>
<span id="mmad1">&nbsp;</span>
</TD>
</TR></TABLE>

</TD></TR>
<TR><TD CLASS=ART>

#{a.SectionContent}

</TD></TR></TABLE>
<TABLE WIDTH=950 ALIGN=CENTER cellpadding="0" cellspacing="0" border="0">
<TR><TD WIDTH=32% ALIGN=RIGHT>
<a href="#{a.LastLink}">上一节</a></TD><TD WIDTH=20% ALIGN=CENTER>
<a href="#{a.AblumLink}">目录</a></TD><TD WIDTH=48% ALIGN=LEFT>
<a href="#{a.NextLink}">下一节</a></TD></TR></TABLE>

 

控制器部分也很简单,首先找到该篇文章id,同时生成上一篇文章和下一篇文章的链接,填充到视图的对应变量中,代码如下:

 

 public void Show(int id)
{

ArticleSection c = ArticleSection.findById(id);
set("a.Title", c.article.Title);
set("a.SectionContent", c.SectionContent);

List<ArticleSection> recent = ArticleSection.find("articleId=" + c.article.Id + " order by SectionNo asc").list();
ArticleSection[] asArray = recent.ToArray();
int nIndex = 0;

foreach (ArticleSection a in recent)
{

if (a.Id == id)
{
set("a.LastLink", to(new ArticleSectionController().Show, asArray[nIndex > 0 ? nIndex - 1 : nIndex].Id));
set("a.AblumLink", to(new ArticleController().Show, a.article.Id));
set("a.NextLink", to(new ArticleSectionController().Show, asArray[nIndex == asArray.Length - 1 ? nIndex : nIndex + 1].Id));
break;
}

nIndex++;

}
}


其余的代码就不一一列举了,是一些后台管理的部分,文章和章节的增删查改,大家参考附件中的源码吧。

 

MVC方式开发网站的心得,与Winform开发方式类比

开发一个网站,首先当然要先分析业务需求;业务需求有了,需要考虑如何划分页面的职责,某一页面上要显示哪些内容,显示哪些链接到其他页面的链接;而当每个链接到其他页面的链接被点击的时候,即进入到对应的controller的某个action之中。与Winform开发做类比的话,这里的链接相当于按钮,点击链接进入到相应的controller的某个action中相当于点击按钮触发事件处理函数,而action返回的新视图相当于winform中弹出一个新的对话框,上面又包含新的按钮。

 

源码下载 

  • 海报
海报图正在生成中...
赞(0) 打赏
声明:
1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。
2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。
3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。
4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。
文章名称:《利用wojilu框架仿一个网站的全过程(StepbyStep利用wojilu框架开发网站系列二附源码)》
文章链接:https://www.456zj.com/9264.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址