木子屋 Dnawo's BLOG

分类:Web编程

共 944 篇

使用ClientID获取服务器端控件在客户端的ID

在ASP.NET中,在某些情况下,对于一些服务器控件,.NET会在客户端按一定的规律生成其客户端ID,这就造成控件的客户端ID和服务器端ID不一样,此时若要在客户端脚本中使用该控件,就必需先知道其客户端ID。幸好.NET为每个控件都提供了一个ClientID属性,该属性值即为控件在客户端的ID,下边是一个使用示例: 说明 .例如在用户控件中使用的控件,在DataList的ItemTemplate模板中使用的控件等等,.NET都会按一定的规律生成其客户端ID;

从DateTime.TryParseExact想到的

前天同事问C#有没有相关的方法能把"年月日时分秒"这样的字符串转化为DateTime对象,我之前没碰这样的问题,没处理过,不知道有没有,但想想挺复杂的,例如同样的时间"2010-4-8 12:30:01"就有好几种表示方法: 20100408123001 20104812301 100408123001 104812301 可能还有更多,要转成DateTime对象,就必须先弄清它的格式,这是一个比较头疼的问题。后来还是让他找到了一个方法:DateTime.TryParseExact,使用如下: 它很简单的就解决格式的问题:要我转化,可以,告诉我格式先!无独有偶,我之前在给资源加扣费时也是这么解决的。…

Sql日期去掉时分秒

declare @date datetime set @date = '2010-02-06 18:00:00' print dateadd(dd,datediff(dd,0,@date),0) --去掉时分秒 print datediff(dd,@date,dateadd(mm,1,@date)) --本月天数 print dateadd(mm,1,dateadd(dd,-datepart(dd,@date),@date)) --本月最后一天…

WAP页面不能正常获取HTTP_REFERER测试

经多台移动设备测试发现:在WAP页面中并不总能获取到HTTP_REFERER的值。查了多方资料,看到了这么一段说明: 当HTML浏览器从一个URL到另外一个URL的时候,它默认地会发送一个叫做 Referer的 HTTP头给服务器,告诉它在浏览这个页面之前的那个页面。这是一个非常有用的特点,在WAP环境中同样也有。但是既然这个信息来自用户代理(浏览器)、WAP设备,通常为了节约带宽和时间,就被省略了。为了使用 Referer ,应该在,等标签中加入sendreferer参数,并设置为true,这样就会把参考的URL发送到服务器。 做了个测试: a.aspx: b.aspx: 再使用移动设备测试,能发送REFERER了,但并不完整,在b.aspx中大都只显示"a.aspx"。Nokia5800不加sendreferer时能正常显示REFERER,加了后都显示"a.aspx"了。…

C#获取Response.Redirect重定向后的URL

其实 Response.Redirect 重定向就是向客户端的浏览器发送一个特殊的HTTP报头: HTTP/1.1 302 Object Moved Location http://redirecturl 浏览器读到此报头,就按Location值的指示载入页面。所以,获取重定向后的URL也就是获取HTTP头的Location值。 根据这一原理写的C#代码: 参考文章 ·关于获取Response.redirect重定向后的URL ·DownPlus Http 组件 用来获取重定向的URL ·获取软件下载的真实地址

总结aspx必须放在具有 runat=server 的窗体标记内的控件

今天测试一个aspx页报错,提示:类型“TextBox”的控件“TextBox1”必须放在具有 runat=server 的窗体标记内。 页面代码如下: 很明显,少了form的原因,原因是我想去掉页面中隐藏的input而去掉了form: 加上form再测试就正常了: 后来又发现并非所有服务控件都要放在form中,总结了下: 必须放在具有 runat=server 的窗体标记内的控件: TextBox Button LinkButton ImageButton DropDownList ListBox CheckBox RadioButton HiddenField Calendar FileUpload…

C#获取sql中print语句输出的内容

using (SqlConnection conn = new SqlConnection("server=(local);database=Northwind;user id=sa;password=sa;")) { //在InfoMessage事件中获取print值 conn.InfoMessage += delegate(object sender1, SqlInfoMessageEventArgs e1) { Response.Write(e1.Message); }; conn.Open();…

aspx页面事件执行顺序

单个aspx页面按如下顺序激活事件: Page_PreInit Page_Init Page_InitComplete Page_PreLoad Page_Load Page_LoadComplete Page_PreRender Page_PreRenderComplete 若aspx使用了母版页,则按如下顺序激活事件: Page_PreInit MasterPage_Init Page_Init Page_InitComplete Page_PreLoad Page_Load MasterPage_Load Page_LoadComplete Page_PreRender MasterPage_PreRender…

小伎俩:使用桥页阻碍用户后退

在很多站点,特别是门户站的一些频道页中,我经常发现这么一种现象:点击链接进入频道页后,再点后退按钮,结果又自动跳回到频道页了。分析了下,流程大都是这样:点击链接打开A页面,A页面其实没有什么内容,主要就一小段代码(客户端)来实现自动跳转到B页面,B是真正的内容页。这边的A页面就是桥页,它负责连接到目标页。这样用户在B页面点后退按钮时,其实是回到了A页面,由于A页面代码的作用,又引导用户到了B页面,这样就阻碍了用户的后退,感觉不能后退了。 小技巧:连续单击两次后退按钮即可正常后退。 不论这种做法是故意的,还是无意的,可以肯定的是它成功阻碍了一部分用户的离开。当然,从用户体验来说,这种做法不值得提倡。…