zoukankan      html  css  js  c++  java
  • MOSS项目开发 周记(第十五周)

    第十五周

    最后一个模块是My Bookmark(个人书签)
    因为,信息目录和服务目录的项目数目不小,但是,大部分员工每天只是固定在几个服务和几个相对固定的信息内容。
    这个模块的目的是提供一个个人书签以标记常用的服务和信息。以方便用户的使用。

    信息和服务目录存放在infocategory List 

    Title

    Single line of text

    URL

    Single line of text

     

    DisplayOrder

    Number

     

    Target

    Single line of text

     

    Hide

    Yes/No

     

    Owner

    Single line of text

     

    Created By

    Person or Group

     

    Modified By

    Person or Group



    个人书签存放在mybookmark List,

    Title

    Single line of text

    InfoCatID

    Number

     

    Created By

    Person or Group

     

    Modified By

    Person or Group

    其中InfoCatID是指向infocategory的ID
    新建一个View名为mybookmark,Filter条件是modified by = [me]

    为此将viewlist.aspx扩展到viewlist2.aspx,新加二个参数view2和List2,输出的xml各市如下
    <List>
     <view>
     </view>
    .............
     <view>
     </view>
     <view2>
     </view2>
    ............
    <view2>
     </view2>
    </List>

    使用sitemap(即显示整个infocategory List)的XSLT加上
    <form action="mybookmark.aspx" method="post">
    </form>
    判断item是否已经被选中,使用如下代码
    <xsl:template name="BookMarkFunction">
      <xsl:param name="infoCatID" />
      <xsl:for-each select="View">
          
         <H5>
          <xsl:variable name="fID" select="ID"></xsl:variable>
          <input type="checkbox" value="{ID}" id="ID{ID}" name="useroptionChkBox">
           <xsl:if test="count(/List/View2[InfoCatID=$fID]) != 0">
            <xsl:attribute name="checked">Checked</xsl:attribute>
           </xsl:if>
          </input>
          <label>
           <xsl:attribute name="for">
           <xsl:value-of select="Title" />
           </xsl:attribute>
           <xsl:value-of select="Title" />
          </label>
         </H5>
       
       
      </xsl:for-each>
    </xsl:template>


    mybookmark.aspx把用户提交的结果存入bookmark List,因为用户使用自己的NETWORK ID存入,myBookmark(View)根据filter条件,只会显示用户的本人的bookmark。

    对应的XSLT代码如下
    <?xml version="1.0" encoding="utf-8"?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
     <xsl:template match="List">
      <xsl:variable name="Random"><xsl:value-of select="param/Random"/> </xsl:variable>
      <div class="toolbox" id="mynavi">
       <h3 onclick="javascript:toggle_display('mynavi_div',this);" class='on'>
        <span>My Bookmark</span>
       </h3>
       <ul id="mynavi_div">
        <xsl:for-each select="View">
         <xsl:sort select="LinkTitle" />
         <li>
          <a>
            <xsl:attribute name="href"><xsl:value-of select="URL"/></xsl:attribute>
            <xsl:attribute name="Target"><xsl:value-of select="Target" /></xsl:attribute>
            <xsl:value-of select="LinkTitle"/>
          </a>
          
         </li>
        </xsl:for-each>
       </ul>
       <div align="right">[ <a>
        <xsl:attribute name="href">#</xsl:attribute>
        Edit Bookmark
        </a> ]</div>
      </div>
     </xsl:template>
    </xsl:stylesheet>

    显示如图


    模块虽然不完美,但实施起来方便简洁,编码也只要一个工作日就完成了。







  • 相关阅读:
    java面向对象
    java 继承
    .net的 http 请求 利用单例减少创建销毁的资源开销 提高利用率
    net core 3.1 swagger文档添加 不用xml配置
    vs code 配置 golang 环境
    .net 使用RabbitMQ demo
    Centos7 上安装配置 RabbitMQ
    C# .net 获取程序运行的路径的几种方法
    c# Windows服务应用程序的创建、安装和卸载
    XCOPY命令 windows 一个文件夹里的文件 快速移到另一个磁盘里
  • 原文地址:https://www.cnblogs.com/by1455/p/990471.html
Copyright © 2011-2022 走看看