上回书说到,VisualWiki系统已经基本可以运行,我们现在来考虑给他加个路径功能。举例来说,我们从Home页,点击Hello链接,进入Hello页,这时,我们希望有Home和Hello两个链接在Wiki页顶端。再点击Hello页中的Next链接,进入Next页,这时,我们希望有Home、Hello、Next三个链接在Wiki页顶端。

  需求就是这样,不过,如何实现呢?应该可以对Article设置对自己的一对多关系,那么在数据库中它们的父子关系就是确定的。不过,我却不太希望这样,对于Wiki来说,Wiki页都是独立的似乎更符合常规,那么这个路径怎么生成呢?

  考虑之后,其实这个路径信息不必保存在数据库内,而只需要在url里面就足够了。具体就是增加一个path参数,用来解析路径信息,这里面有两个选择,一是path里是路径Wiki页的名称,另一个是path里是路径Wiki页的Id,我选择了后者,多个Id之间用下划线连接。

  当然,这个改动也牵涉到GenerateShowText函数,所以先来修改它的单元测试吧,它应该增加一个path参数,当其为null时,处理方式和以前一样,否则将path加入生成的链接里:

[Test]
public void TestTestGenerateShowTestWithPath()
{
    var text 
= "abc [[bb]] xyz";
    var act 
= CommonHelper.GenerateShowText(text, "1_2");
    Assert.AreEqual(
"abc <a href=\"Show.aspx?path=1_2&title=bb\">bb</a> xyz", act);
}

相关文章:

  • 2021-08-18
  • 2021-05-31
  • 2021-07-25
  • 2021-12-27
  • 2022-12-23
  • 2021-10-09
猜你喜欢
  • 2022-01-17
  • 2022-03-07
  • 2021-05-31
  • 2021-10-14
  • 2021-09-04
  • 2022-12-23
  • 2021-06-02
相关资源
相似解决方案