首页 > 代码库 > 实习期收获(一)
实习期收获(一)
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
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);
}
//实现接口 说明一下Hashtable 因为引用的Ibatis.net的程序集中的QueryForList方法中 的参数只有两个(string,object)
//这里面的string是说明sql语句的作用,object是需要参数的类型
//如果需要的参数只有一个 可以直接定义成 int,string,bool......
//如果需要的参数是多个的话,那么就需要定义一个hashtable来接受这些参数
//个人理解:1。如果仅仅是需要一个参数就相当于ADO.NET中的sqlparameter
//2.如果需要的是多个参数就相当于ADO.NET中的sqlparameter[]
3.persistence--.xml
<statements>
<select id="SelectListByClassIdAndTerm" parameterClass="hashtable" resultMap="SelectResult" >
select * from Edu_syllabus
where
[ClassId]=#ClassId#
and
[Term]=#Term#
</select>
</statements>
//这里面主要写的是sql语句,最核心的地方吧
//注意点【1】整个xml中的数据都要求与Service--Syllabus--.cs 中的实现接口的方法对应
//【2】select 中的id应该对应上文queryforlist(string,object)中的string
//【3】parameterClass应该对应上面的object的具体类型
//【4】sql语句中的参数应该与hashtable中定义的参数一致,区分大小写。
实习期收获(一)