微软在WebUIValidation.js(System.Web的资源文件内自己找工具看吧)
内有如下代码:
当自定义控件为符合控件,比如两个或多个DropDownList组合而成
而有一个Value属性来返回这几个DropDownList的返回选项,并且设置了ValidationPropertyAttribute去验证某个属性,如:
[ValidationPropertyAttribute( "Value" )]
当使用验证控件验证的时候,由于上面脚本在控件没有客户端value的时候返回的为第一个value不为空的ChildNode的value
值,这样用来验证,可能不是我们所需要的。
比如我需要非空验证控件来验证我的自定义控件所有的DropDownList都必须被选择时候,如果第一个有了选择,则该脚本认为验证通过了,叶面可以PostBack然而,在服务器端Page.IsValidata属性是false的。
我用了一个非常ugly的方法,在控件外层放一个父容器(可以通过override TagKey 来指定)span
在每个DropDownList的客户端onchange的时候 判断 如果 任一个没有选择,那么置span的value = ‘’;
当全部选择的时候再将span.value = 实际的值 ,这样就不会出现客户端验证通过,然而服务器端验证没有通过才出来ErrorMessage的情况了。
但是总觉得 这样非常的ugly,如果有其他朋友也遇到过这样的问题,欢迎讨论。
Test live writer
sqlserver 2005 express
使用 sqlserver mangage studio express
创建一个测试用表
CREATE TABLE [dbo].[test](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) COLLATE Japanese_CI_AS NULL
) ON [PRIMARY]
执行 insert test ([name]) values('sdfsdf'); 多次。
创建一个存储过程
create PROCEDURE [dbo].[xxx]
AS
update test set [name] = 'aaa' where id = 2
然后
ALTER PROCEDURE [dbo].[xxx]
AS
update testxx32453463465346436x set [name] = 'aaa' where id = 2
竟然不进行语法检查,而且执行成功了
执行被alter过的过程时才会报错误
Msg 208, Level 16, State 1, Procedure xxx, Line 10
对象名 'testxx32453463465346436x ' 无效。
(1 row(s) affected)
Codeproject上有一个关于代码宽度的调查
http://www.codeproject.com/script/survey/detail.asp?survey=590&df=100&forumid=305784&select=1615639#xx1615639xx
其中的评论中有人贴到下面这个地址
http://blogs.msdn.com/saraford/archive/2004/11/15/257953.aspx
照着做 改了注册表
设定RGB(255,0,0) 5, 105
嘿嘿 红线出来了。
图就不抓了 用原作者图
大家喝的是啤酒。这时你入座了。
你给自己倒了杯可乐,这叫低配置。
你给自已倒了杯啤酒,这叫标准配置。
你给自己倒了杯茶水,这茶的颜色还跟啤酒一样,这叫木马。
你给自己倒了杯可乐,还滴了几滴醋,不仅颜色跟啤酒一样,而且不冒热气还有泡泡,这叫超级木马。
你的同事给你倒了杯白酒,这叫推荐配置。
人到齐了,酒席开始了。
你先一个人喝了一小口,这叫单元测试。
你跟旁边的人说哥们咱们随意,这叫交叉测试。
但是他说不行,这杯要干了,这叫压力测试。
于是你说那就大家一起来吧,这叫内部测试。
这个时候boss向全场举杯了,这叫公开测试。
菜过三巡,你就不跟他们客气了。
你向对面的人敬酒,这叫p2p.
你向对面的人敬酒,他回敬你,你又再敬他……,这叫tcp.
你向一桌人挨个敬酒,这叫令牌环。
你说只要是兄弟就干了这杯,这叫广播。
可是你的上司jj听了不高兴了,只有兄弟么,罚酒三杯。这叫炸弹。
可是你的下级mm听了不高兴了,我喝一口,你喝一杯,这叫恶意攻击。
有一个人过来向这桌敬酒,你说不行你先过了我这关,这叫防火墙。
你的小弟们过来敬你酒,这叫一对多。
你是boss,所有人过来敬你酒,这叫服务器。
酒是一样的,可是喝法是不同的。
你喝了一杯,boss喝了一口,这叫c#。
你喝了一杯,mm喝了一口,这叫vb。
你喝了一杯,你大哥喝了半杯,这叫c++。
你喝了半杯,你小弟喝了一杯,这叫汇编。
你喝了一杯,你的搭档也喝了一杯,这叫c。
酒是一样的,可是喝酒的人是不同的。
你越喝脸越红,这叫频繁分配释放资源。
你越喝脸越白,这叫资源不释放。
你已经醉了,却说我还能喝,叫做资源额度不足。
你明明能喝,却说我已经醉了,叫做资源保留。
你喝一段时间就上厕所,这叫cache。
酒过三巡,你也该活动活动了。
你一桌一桌的走,这叫轮巡。
你突然看到某一桌的漂亮mm,走了过去,这叫优先级。
你去了坐下来就不打算走了,这叫死循环。
你的老大举杯邀你过去,你只好过去,这叫激活事件。
你向一桌敬酒,他们说不行不行我们都喝白的,于是你也喝白的,这叫本地化。
你向boss敬酒,可是boss被围了起来,你只能站在外圈,这叫排队。
你终于到了内圈,小心翼翼的向前一步,这叫访问临界区。
你拍着boss的肩膀说哥们咱们喝一杯,这叫越界。
你不知喝了几圈了,只会说两个字,干了,这叫udp。
可是还有人拿着酒瓶跑过来说,刚才都没跟你喝,这叫丢包。
喝酒喝到最后的结果都一样
你突然跑向厕所,这叫捕获异常。
你在厕所吐了,反而觉得状态不错,这叫清空内存。
你在台面上吐了,觉得很惭愧,这叫程序异常。
你在boss面前吐了,觉得很害怕,这叫系统崩溃。
你吐到了boss身上,只能索性晕倒了,这叫硬件休克。
from:
http://community.csdn.net/Expert/topic/4910/4910780.xml?temp=.4186212
今天对GridView的学习中发现 当用 code-beside方式绑定GridView后(比如我绑一个DataTable)
EnableSortingAndPagingCallbacks不起作用。
在下面地址找到 一些说法
http://forums.asp.net/thread/1230450.aspx
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=103040
记之…
经过测试 如下方法 可用
还记得在.Net 1.x 中我们为了保持在页面回发后 保持滚动条位置的做法么?
Page.SmartNavigation 可以做到,但会带来这样那样的问题。
我们也曾经用这样那样的方法实现这个效果,如:
http://huobazi.cnblogs.com/archive/2004/09/20/ScrollPage.aspx
http://www.cnblogs.com/birdshome/archive/2004/12/13/76521.html
在.Net 2.0 中,该类型被描述为:
[ObsoleteAttribute("The recommended alternative is Page.SetFocus and Page.MaintainScrollPositionOnPostBack. http://go.microsoft.com/fwlink/?linkid=14202")]
public bool SmartNavigation { get; set; }
注意:此属性现在已过时。
获取或设置指示是否启用智能导航的值。
同时在备注内有提到:
SmartNavigation 属性已被否决。请改用 SetFocus 方法和 MaintainScrollPositionOnPostback 属性。
园子里birdshome 也早有post了 SmartNavigation在Fx2.0中下岗了