2009春节将至 ,回老家就不能上网了,因此:提前祝园子里的朋友们新年快乐

posted @ 2009-01-22 17:13 lyamlf123 阅读(82) 评论(0) 编辑

题目又为:自定义配置文件的处理方式 :configSource 、 file

在web项目中用到了依赖缓存功能 。

为了便于管理配置文件,我使用了<appSettings file="Web.Settings.config"> 的属性,以分开管理。

同时希望在网站BETA阶段,可以手动更改配置文件的属性值,并且不会重启应用程序域

Web.Settings.config

Code

 

比如我们可以将 <add key="HealthManageTitleEnableCaching" value="true"/> value 属性设为 false 。即可关闭健康管理栏目的缓存。

这时问题就出来:修改配置文件后(false),网站应用程序域将重新启动,这回引起什么样的灾难了?

 

我们用如下简单的代码做个测试:

1、default.aspx ,包含一个textbox 、一个button、两个label 

Code

 

2、default.aspx.cs

Code

 

3、初始运行界面,可以看到缓存开关为 true ,而session值为null 。

 

4、显示我们输入“有了”当文本框,并按下按钮,显示结果为什么了?如下图,我们的Session["temp"]已经有值了 Session["temp"]= "有了" ;

 

5、好。这个时候,我们将配置文件中的 HealthManageTitleEnableCaching 的value 设为  false 。然后我们刷新页面。

刷新后,缓存确实已经被关闭了(为false) 。可是不幸的是:Session["temp"] 值丢失了。天啊,如果我用session保存登陆信息,保存购物车信息,...... ,那不全没了?后果不堪设想!

 

这如何是好。

查MSDN,原来appSettings 还有一个属性 configSource 。http://msdn.microsoft.com/zh-cn/library/ms228154(VS.80).aspx 

Code

 

configSource 、 file 两者区别:

1、configSource 可以保证,在修改了配置后,不会引起应用程序域的重启。

2、configSource 被指定后,整个字节都必须移植到新的config文件中。而file 属性却没有这个要求。

 

 

 

posted @ 2009-01-01 01:39 lyamlf123 阅读(910) 评论(0) 编辑

 网站地址:http://www.weike5.cn/?p=117

很多时候,我们希望在触发某个事件后(比如单击),整个屏幕呈现灰色,并弹出高亮Div 。
同时,我们要还可以要求:

  • 高亮Div以外的元素都不可用。
  • 高亮Div适应所有ie6 ie7 firefox兼容。
  • 多分辨率下应该正确居中

CoolBox V1.0 就是为了提供这个解决方法而设计的 。

说明:程序是肯定开源的,所以如果您有好的建议,您可以通过博客、QQ、E-MAIL与我联系,联系地址在CoolBox压缩包中。欢迎大家批评。

注意:它建立于开源框架 prototype.js - 1.5.1.2 之上 ,所以要正常使用CoolBox,请保证prototype也被引用。

下载/Files/lyamlf123/CoolBoxV1.0.rar  

使用方法

1、下载 CoolBoxV.10 (Rar) 和 prototype.js ,js文件推荐放到一个文件夹(我放在根目录下的js文件夹中),注意修改coolbox.js中coolbox_close.gif的存放地址

2、在页面<head></head>区域引入两个js文件:

<script type="text/javascript" src="../JS/prototype-1.5.1.2.js"></script>
<script type="text/javascript" src="../JS/CoolBox.js"></script>

3、在页面<body></body>区域外即页面底部按如下格式书写代码:

// 参数:高亮div宽度,高度,边框颜色,背景颜色
var coolbox = new CoolBox("500","300","#989EA0","#F7FAFA");

// 参数:titleObj_value为高亮div的标题栏内容,如图2中的‘临床职业医生实践技能’
var titleObj_value="我是标题栏的文字";
coolbox.show(titleObj_value);

// 向高亮div中添加1个新的由javasciprt生成的div ,
var div_courseps= document.createElement("div");
div_courseps.setAttribute("id","div_courseimageurl");

div_courseps.innerHTML = "我是第一个div哦!"
coolbox.append(div_courseps);//如图2div_courseps

// 向高亮div中添加1个新的图片
var div_courseimageurl = document.createElement("div");
div_courseimageurl.setAttribute("id","div_courseimageurl");
div_courseimageurl.innerHTML = "<img src='' />" ;
coolbox.append(div_courseimageurl);//如图2div_courseimageurl

// 如何让高亮Div自适应高度?
// coolbox.clear();
// 该方法在此版本中,由于项目紧张,无法查找出不工作的原因
// 大家有好的建议,请联系我,谢谢。

 图片演示


图片1


图片2

posted @ 2008-12-24 03:03 lyamlf123 阅读(2459) 评论(27) 编辑

      袁氏报表官方网站:http://www.xdesigner.cn/_yuansreport.aspx 。

      最近一周,需要对医院的各个科室、项目,进行体检报告的打印。开始学习使用crystal report 。根据从微软下载的官方视频,开始了水晶报表开发的入门。但让我意想不到的是,微软竟然也有如此难用的控件,使用了三天,效率居然比我以前使用reporting代码编写报表还要低。

      无奈之下,只好求助第三方报表开发组件。经过多方对比,发现了这款优质、高效、免费的报表设计、开发工具,不到一个晚上就弄完了,真是让人欣喜:国内的免费软件比起国外的,丝毫不逊色。

      袁氏报表,下载:http://www.xdesigner.cn/_download.aspx
     

   

posted @ 2008-04-22 00:26 lyamlf123 阅读(270) 评论(0) 编辑
       今天在winform下使用DataGridView时,使用了checkbox列。一般我们可以通过一个按钮的单击事件中,来判断该列是否被选中。但这样似乎不太人性化。因此改为当checkbox被选中时,执行任务。
       可别小看了这个问题。我试了很多的datagridview事件,比如 cellClick CellContentChanged 等事件,要不就是无法扑捉,要不就是得到的值为选中前的值:false 。
   
   当然,最后无意找到了正确的事件:cellContentClick 事件。在该事件中可得知选中前后的值,代码如下:
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        
{
            
if (e.ColumnIndex == 3 && Convert.ToInt32(tbCpiName.Tag)>0 )//当单击复选框,同时处于组合编辑状态时
            {
                DataGridViewCell cell 
= dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
                
bool ifcheck1 = Convert.ToBoolean(cell.FormattedValue);
                
bool ifcheck2 = Convert.ToBoolean(cell.EditedFormattedValue);

                
if (ifcheck1 != ifcheck2)
                
{
                    BCItem bcitem 
= new BCItem();
                    bcitem.B_bciID 
= Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["bciID"].Value);
                    bcitem.C_CpiID 
= Convert.ToInt32(tbCpiName.Tag);

                    
if (ifcheck2)//将该项目与组合关联
                    {
                        bllcp.AddCompageAndItem(bcitem);
//关联
                    }

                    
else
                    
{
                        bllcp.DeleteCompageAndItem(bcitem);
//取消关联
                    }

                }

            }

        }
posted @ 2008-04-10 18:58 lyamlf123 阅读(2962) 评论(5) 编辑
摘要: DataList控件的ItemCommand事件不响应,同时伴随的错误如下:在配置中使用 pages enableeventvalidation true 或在页面中使用 @ page enableeventvalidation true 启用了事件验证Google了很久,虽然答案不少,但都无法解决。最后突然发现一个低级错误:我将DataList的绑定写在了 IspostBack{} 外面 ,因此...阅读全文
posted @ 2008-03-28 18:35 lyamlf123 阅读(626) 评论(0) 编辑
摘要: 1usingSystem;2usingSystem.Security.Cryptography;3usingSystem.IO;4usingSystem.Data;5usingSystem.Runtime.Serialization.Formatters.Binary;6usingSystem.Text;7usingSystem.Windows.Forms;89namespaceBLL.Gener...阅读全文
posted @ 2008-02-21 11:20 lyamlf123 阅读(416) 评论(0) 编辑
摘要: 转自:http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html这篇关于委托与事件的文章,比我上次转的要好理解的多。特意转过来,让更多人可以看到。引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易...阅读全文
posted @ 2008-02-02 11:13 lyamlf123 阅读(70) 评论(0) 编辑
摘要: 事件与委托似乎很难以理解,这是因为它们的使用方式与常用的编码有很大的差别,例如通常编写的都是同步代码,调用一个类型的方法,会即刻出现方法执行的结果,这是符合逻辑的。但在某些情况中,同步代码未必满足需求,拿公共汽车来打个比方,如果交通管制中心希望每一辆公车到达一个站点时都发送给自己一个信号以便自己能够随时掌握交通状况,使用同步代码,公汽对象肯定需要调用管制中心对象,这样就出现了我们一直不愿意看到的情...阅读全文
posted @ 2008-01-19 03:59 lyamlf123 阅读(96) 评论(1) 编辑
摘要: 记得在Peshop4.0中有用到Facde设计模式,可以很好的使用分层结构,Presentation应该也是起这个作用;在Npetshop中,我看这层所属文件名后都带有‘Action’字样,action在这里是什么意思?活动、动态?阅读全文
posted @ 2007-12-05 12:15 lyamlf123 阅读(456) 评论(1) 编辑