使用vs2005经验与教训(关于masterpage,menu,gridview及对exce的l操作)
2006-05-22 12:19
621 查看
1,Masterpage
我在毕业设计的题目算是个E_Learning System 吧!^_^。
用户分为三种类型:老师,学生,管理员。在登录时,将用户信息及用户类型存在cookies中。由cookies中的用户类型判断显示对应的菜单。这样就在建立一个mastepage,上面放个menu控件,在mastpage中通过
获取用户的类型,给menu绑定不同的xml数据源来显示不同的菜单!起先并没有发现问题。我为了方便,没有在页面中判断权限(为了不至于每次都要登陆),但后来我需要在使用了masterpage的普通页面中获取cookies中用户信息时,问题出现了:打开这样的页面时,一直打不开页面,cpu的占用率100%,直到最后超时。
不知道有没有在masterpage和引用它的页面里同时使用cookies的方法?请高人指点!
2,Menu控件绑定xml数据缘的笨办法
针对不同类型用户显示不同菜单
menu.xml文件
请推荐更好的办法!
3,GridView中删除的小技巧
在GridView中删除行后如果不重新加载数据,删除的行还会显示出来。
通过程序绑定数据集时还方便重新加载。
我通过以下方法解决:
如果这种方法不可取请指出!
4,对Excel的操作
将我的这篇Access 通用数据访问类(asp.net 2.0 c#)的打开链接部分的链接字符串部分稍做修改即可对excel进行操作
当指定的名为filename 的excel文件不存在时,将自动创建。从这里了解到的。
我在从excel文件导入数据库及从gridview中导出excel文件时应用,具体步骤
导入:
导出:
针对excel的导入导出你就理解为对数据库的操作就很简单了。
当然更复杂的对excel的格式等操作就不是这样了,那就需要com组件了。
我在毕业设计的题目算是个E_Learning System 吧!^_^。
用户分为三种类型:老师,学生,管理员。在登录时,将用户信息及用户类型存在cookies中。由cookies中的用户类型判断显示对应的菜单。这样就在建立一个mastepage,上面放个menu控件,在mastpage中通过
HttpCookieCollection cookies=Request.Cookies; if (cookies["usertype"] != null) { usertype = cookies["usertype"].Value; } |
不知道有没有在masterpage和引用它的页面里同时使用cookies的方法?请高人指点!
2,Menu控件绑定xml数据缘的笨办法
针对不同类型用户显示不同菜单
XmlDataSource xds = new XmlDataSource(); xds.DataFile = "~/Menu.xml";//自己写的xml文件 switch (usertype) { case "admin": xds.XPath = "menu/admin/*"; break; case "teacher": xds.XPath = "menu/teacher/*"; break; case "student": xds.XPath = "menu/student/*"; break; default: xds.XPath = "menu/default/*"; break; } menu.DataSource = xds; menu.DataBind(); //以上为绑定xml数据源 switch (usertype) { case "admin": menu.Items[0].NavigateUrl = "myinfo.aspx"; menu.Items[1].NavigateUrl = "student.aspx"; …… …… //以上为添加链接部分 |
<menu> <default> <系统通知/><!--default.aspx--> <师生交流/><!--elearningbbs.aspx--> <系统登陆/><!--login.aspx--> <系统说明/><!--explain.aspx--> </default> <admin> <我的信息/><!--myinfo.aspx--> <学生管理/><!--stutent.aspx--> <老师管理/><!--teacher.aspx--> <科目管理/><!--course.aspx--> <答疑管理/><!--elearningbbs.aspx--> <通知管理/><!--default.aspx--> <系统帮助/><!--help.aspx--> <退出系统/><!--logout.aspx--> </admin> …… …… </menu> |
3,GridView中删除的小技巧
在GridView中删除行后如果不重新加载数据,删除的行还会显示出来。
通过程序绑定数据集时还方便重新加载。
我通过以下方法解决:
……执行delete的sql语句 GridView1.Rows[i].Visible = false;//i表示第几行。总之就是让删除的这行的visible=false; …… |
4,对Excel的操作
将我的这篇Access 通用数据访问类(asp.net 2.0 c#)的打开链接部分的链接字符串部分稍做修改即可对excel进行操作
private static void openExcel(string filename) //这里添加参数,引进操作的excel表名,当然也可以操作固定的excel文件 { if (conn.State == ConnectionState.Closed) { conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ConfigurationManager.AppSettings["myexcel"] + filename + "; Extended Properties=Excel 8.0;"; comm.Connection = conn; try { conn.Open(); } catch (Exception e) { throw new Exception(e.Message); } } } …… 该类中的其他方法类似,也可添加引进文件名的参数 public static void excuteSql(string filename,string sqlstr) 执行create table语句可以在名为filename的excel文件中新建表 |
我在从excel文件导入数据库及从gridview中导出excel文件时应用,具体步骤
导入:
使用Fileupload控件上传excel文件,指定系统时间为e sqlstr="select * from (excel中的工作表名,不是excel文件名)"……//查询语句 DateSet ds=DataAccess.dataSet(sqlt); gridview1.datasource=ds; gridview.DataBind(); 然后删除上传的文件 |
指定文件名为当前日期时间 strsql="create table……"//创建表语句 DataAccess.excutesql(filename, strsql); strsql1="insert into "//插入语句,值为gridview中显示的内容。 DataAccess.excutesql(filename,sqlstr1); |
当然更复杂的对excel的格式等操作就不是这样了,那就需要com组件了。
相关文章推荐
- 关于使用 MongoDB Connector for Hadoop 的经验和教训
- 关于ASP.NET中使用MasterPage和PageBase页面基类的一些体会
- DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作
- 在VS2005中初探MasterPage & JAVASCRIPT 之拙劣使用法
- 关于继电器使用的一点经验教训!
- 关于ASP.NET中使用MasterPage和PageBase页面基类的一些体会
- vs2005视频教程系列 之 MasterPage创建使用 [视频]
- MasterPage轻松使用三步走(VS2005的新东东MasterPage)
- vs2005中关于masterpage,Theme,skin的一点总结
- ASP.NET学习笔记[2] - 关于使用Master.Page的几点注意事项
- 关于使用 MongoDB Connector for Hadoop 的经验和教训
- 关于菜单使用gridView来实现的一些小经验
- DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作
- VS2005 && MasterPage && Form 的一些相关使用记录
- DevExpress控件使用经验总结- GridView列表行号显示操作
- 关于GridView Master-Detail 不支持明细属性为IEnumerable、IList问题
- 关于 PostgreSQL 使用 pg_upgrade 升级的操作
- ASP.NET 2.0 中的数据操作:: 使用 GridView 和DetailView实现的主/从报表
- 关于block使用导致键盘的延时操作
- 关于DEV中的GridControl使用之GridView