学asp.net不是很久,做了一个 OA 的项目,遇到很多问题,在此Mark一下,这些都是项目中经常遇到的问题,我搜集网上的解决方案,做了一个小的总结.也让遇到同样问题的IT学子有些帮助.
注: 人人为我,我为人人!
1、解决了 framework2.0 架构下 子页 内容 引用updatepanel 导致 ajax控件 警告为:未知元素,代码排版紊乱。(framework3.5 无此问题 ) 方法为:在web.config 下 <pages><controls><add tagPrefix="ajax" /> tagprefix 属性 改为ajax ,页面内所有ajax 控件 的标签都由 <asp/>改为<ajax/>
2、解决了 updatepanel 里面点击下载 弹出乱码框 问题 . 方法: 点击跳转到另一页面执行下载操作.
3、解决了 点击 提交按钮 更新页面后滚动条默认为: 记住滚动条位置, 方法: 在web.config 下 <pages maintainScrollPositionOnPostBack="true"> 添加maintainScrollPositionOnPostBack="true" 的属性 也可以在母板页 的load 方法里添加 page.maintainScrollPositionOnPostBack="true"; 但是跳转页面不起作用,要用js 控制,比较麻烦.大概方法 是把 上个页面的滚动条位置存入session.
4、解决了 session 丢失的问题,session 丢失在对文件物理操作时比较容易出现,因为默认session 是跟随一个进程 **.exe 执行的,那个进程重启,就容易丢失,还有很多原因引起,最好google 一下. 方法: 在web.config 下 <system.web> <sessionState mode="StateServer" cookieless="false" timeout="20" />添加一个<sessionState>标签,默认没有此属性
mode 里面有3个条件.但是项目执行 时要 先启动 windows的 asp.net state 服务.
5、解决了 引用js文件 或者 地址栏传参如果有中文 ,显示为乱码的问题. 方法: 在web.config <system.web><globalization requestEncoding="gbk" responseEncoding="gbk"/>添加全局属性响应和请求都为 "gbk".
6、添加了 服务器控件主题的 样式 .服务器控件直接 引用 skinid 导入样式.和cssclass 差不多,但是skinid 更适合服务器控件.具体使用方法,可以去 ms官方下载一个 demo. 全局引用一个默认主题要在在web.config 下 <pages theme="SkinFile" > 添加 theme 属性,skinfile为样式文件的名称.
7、解决了 gridview 无法设置行内边框颜色的问题, 好似默认白色, 方法: gridview1.Attributes.Add("bordercolor", "#7fc2ff");
net 2.0中的新控件ReportViewer可以方便的制作并显示报表,但是它没有直接支持在网页中的打印。我在分析网页HTML源代码的基础上找到了直接打印的诀窍,先做成一个函数,方便直接使用。
1.包含ReportViewer报表的网页的最终形式HTML DOM结构中,报表被放到一个<iframe>中,其id命名方式为: ......