zoukankan      html  css  js  c++  java
  • 实习期收获(一)

    first:同一个页面的前后台传值,(List<>)

    eg:

    .cs

    {

     protected IList<KDSoft.KDTest.Domain.Edu.Syllabus> syList; //定义一个syList方法,没有实现体

    syList = SyllabusService.GetListByClassAndTerm(1, 1);//数据绑定到syList

    }

    .aspx

    {

    <%foreach(KDSoft.KDTest.Domain.Edu.Syllabus syli in syList)%>//因为在同一个,页面所以直接获得了syList

    //我也在考虑如果把.cs里面的portect改成public那么是不是所有的aspx界面都能够获得这个syList

    }

    second:自定义sql语句到ibatis.net中

    1.web--.aspx--.cs  SyllabusService.GetListByClassAndTerm(1, 1);//调用Service中的方法

    2.IService--Isyllabus--.cs  IList<Syllabus> GetListByClassAndTerm(int classId, int termId);//定义sql语句实现的接口

    2.Service--Syllabus--.cs       

    eg1:public IList<Syllabus> GetListByClassAndTerm(int classId, int termId)
    {
    Hashtable ht=new Hashtable();
    ht.Add("ClassId",classId);
    ht.Add("Term",termId);
    return Dao.QueryForList("SelectListByClassIdAndTerm",ht);
    }

    eg2:

    public IList<Hashtable> GetProjectListByProjectEditCount(CurrentUser.ID);

    {

     return Dao.QueryForList<Hashtable>("GetProjectListByProjectEditCount",id);

    }

    //实现接口 说明一下Hashtable 因为引用的Ibatis.net的程序集中的QueryForList方法中 的参数只有两个(string,object)

    //这里面的string是说明sql语句的作用,object是需要参数的类型

    //如果需要的参数只有一个 可以直接定义成 int,string,bool......

    //如果需要的参数是多个的话,那么就需要定义一个hashtable来接受这些参数

    //个人理解:1。如果仅仅是需要一个参数就相当于ADO.NET中的sqlparameter

    //2.如果需要的是多个参数就相当于ADO.NET中的sqlparameter[]

    3.persistence--.xml

    eg1:

    <statements>
    <select id="SelectListByClassIdAndTerm" parameterClass="hashtable" resultMap="SelectResult" >
    select * from Edu_syllabus
    where
    [ClassId]=#ClassId#
    and
    [Term]=#Term#
    </select>
    </statements>

    eg2:

    <select id="GetProjectListByProjectEditCount" parameterClass="int" resultClass="hashtable">

    SELECT TOP 5 ProjectID,ProjectName from Work_WorkLog WHERE UserID= ($id$)
    GROUP BY ProjectID ,ProjectName ORDER BY COUNT(ProjectID) DESC
    </select>

    //这里面主要写的是sql语句,最核心的地方吧

    //注意点【1】整个xml中的数据都要求与Service--Syllabus--.cs 中的实现接口的方法对应

    //【2】select 中的id应该对应上文queryforlist(string,object)中的string

    //【3】parameterClass应该对应上面的object的具体类型

    //【4】sql语句中的参数应该与hashtable中定义的参数一致,区分大小写。

    前台获取值:

    #data# 类型安全
    %data% 不安全 但是适用度更广

      

    IList<s> tt =>接收 ‘<%EVAL("column")%>’==>selectResult

    hashtable tt =>接收 '<%#Eval("["UserName"]")%>' ==》selectclass

    dictionary<string,string> tt=>接收 ‘<%#Eval("key")%>’

    public Dictionary<string, string> GetRecentlyUsedProjectList(int userId)
    {
    var dic = new Dictionary<string, string>();
    var listht = Dao.QueryForList<Hashtable>("GetRecentlyUsedProjectList", userId);
    foreach (var ht in listht)
    {
    if (!dic.ContainsKey(ht["ProjectID"].ToString()))
    dic.Add(ht["ProjectID"].ToString(), ht["ProjectName"].ToString());
    }
    return dic;
    }

  • 相关阅读:
    几种回文算法的比较
    算法与数据结构(五)树表的查找
    算法与数据结构(四)利用哈夫曼树编码解码
    算法与数据结构(三)线性表的查找算法
    主存和cache的地址映射
    算法与数据结构(二)三元组矩阵行列式的计算(用递归)
    算法与数据结构(一)将一个数组中的各节点按照层次遍历插入构成完全二叉树
    服务器被攻击,我真是个人才。
    想学嘛,不想学? 自学是门手艺
    想学嘛,技术人, 请不要封闭自己
  • 原文地址:https://www.cnblogs.com/sunzgod/p/4121946.html
Copyright © 2011-2022 走看看