Butterfly
随笔- 36  文章- 0  评论- 16 
博客园  首页  新随笔  联系  管理  订阅 订阅
2009年9月2日
Request.UrlReferrer详解
Request.UrlReferrer可以获取客户端上次请求的url的有关信息。
  这样我们就可以通过这个属性返回到“上一页”,
示例如下
    

1.      首先在Page_load中获得并储存该信息

Page_load(object obj,EventArgs e)
             {
                     if(!IsPostBack)
                    {
                         if(Request.UrlReferrer!=null)  //
                        {
                                                      ViewState["UrlReferrer"]=Request.UrlReferrer.ToString();
                        }
                    }
             }

l        页面回发后会改变Request.UrlReferrer,将其指向当前页面,所以需要进行判断:只有在第一次请求页面的时候才储存该信息

l        因为可能“上一次”的url不存在,所以需要进行判断,只有在Request.UrlReferrer存在的情况下才进行储存
            

2.      然后在返回函数中使用该信息

void Return()

{

    if(ViewState["UrlReferrer"]!=null)

        Response.Redirect(ViewState["UrlReferrer"].ToString();

}

在使用Request.UrlReferrer时还要注意: 
1.  如果上一页面使用document.location方法导航到当前页面,Request.UrlReferrer返回空值
2.  如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则    Request.UrlReferrer返回空。因为 在Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息   
3.  点击刷新按钮不会改变Request.UrlReferrer 

posted @ 2009-09-02 16:23 butterfly 阅读(55) 评论(0) 编辑
2009年5月10日
很好的几个js滑动条效果

1.js滑动条1

2.js滑动条2

3.js滑动条3
posted @ 2009-05-10 21:53 butterfly 阅读(1545) 评论(0) 编辑
2009年4月28日
Asp 出现Microsoft JScript 编译错误 (0x800A03EC) 缺少 ';'解决办法

运行的时候提示出现错误:
错误类型:
Microsoft JScript 编译错误 (0x800A03EC)
缺少 ';

把<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
改成<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

或者反过来,或者把子这一行去掉就行了

posted @ 2009-04-28 22:58 butterfly 阅读(3257) 评论(0) 编辑
2009年4月27日
实现textarea限制输入字数

 

实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)

textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。

通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用。假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符):

<script language="#" type="text/ecmascript">
window.onload = function()
{
document.getElementById('txta1').onkeydown = function()
{   
    if(this.value.length >= 10)
      event.returnValue = false;
}
}
</script>
它的原理是通过对keydown(键盘键位按下)事件对指定id号的文本区进行监测,可以想象,它只能限制键盘输入,如果用户通过鼠标右键粘贴剪切板中的文本,它无法控制字数。

 

通过键盘输入,以上文本区只能输入10个字。但是,我们的目的并没有达到!请随便复制一些文本,试着用鼠标右键粘贴,看看发生了什么。

你可以在网上找到类似上述的其他JS脚本,它们不管多么优秀,其原理都是一样的,通过对keydown、keyup或keypress之类的键盘键位操作事件来监控文本区的输入,无法防止鼠标右键的粘贴,为此,如果一定要真正地限制textarea的字数,我们还得为网页加另一把锁——禁用鼠标右键,这无疑得付出额外的开销,同时也可能是网页制作者不一定愿意做的。其实,还有一个更简单的方法,使用onpropertychange属性。

onpropertychange可以用来判断预定元素的value值,当元素的value值发生变化时判断事件就会被触发,仅关心被监测元素的value值,避开了输入的来源,从而可以比较理想地达成我们的限制字数这一目的。它属于JS范畴,可以在表单方框区代表中嵌套使用,以下是代码和效果样式,可以像上面那样测试输入,你会发现它真正达到目的:不管用什么方式输入,它只能输入100个字(汉字或其他小解符号):

代码:

<textarea onpropertychange="if(value.length>100) value=value.substr(0,100)" class="smallArea" cols="60" name="txta" rows="8"></textarea>


当然,为了更为保险,处理表单数据的后台脚本程序还应该对提交来的数据进行再一次的检测,如果字数超出预设的数量则进行相应处理,这样才达到真正限制字数的目的。(完)

 

 

另外一种方法实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)

<script>
function check() {
var regC = /[^ -~]+/g;
var regE = /\D+/g;
var str = t1.value;

if (regC.test(str)){
    t1.value = t1.value.substr(0,10);
}

if(regE.test(str)){
    t1.value = t1.value.substr(0,20);
}
}
</script>
<textarea maxlength="10" id="t1" onkeyup="check();">
</textarea>

 

 

 

还有一种方式:

function textCounter(field, maxlimit) {
if (field.value.length > maxlimit){
field.value = field.value.substring(0, maxlimit);
}else{
document.upbook.remLen.value = maxlimit - field.value.length;
}
}

<textarea name=words cols=19 rows=5 class=input1 onPropertyChange= "textCounter(upbook.words, 50) "> textarea>
剩余字数: <input name=remLen type=text id= "remLen " style= "background-color: #D4D0C8; border: 0; color: red " value=50 size=3 maxlength=3 readonly>

 

 

function LimitTextArea(field){
    maxlimit=200;
    if (field.value.length > maxlimit)
     field.value = field.value.substring(0, maxlimit);
      
   }

<textarea cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>

 

title="The textarea width must less than 300 characters." 放在textarea 里面提示输入最大字节数。

例如:<textarea title="The textarea width must less than 300 characters." cols=50 rows=10 name="comment" id="commentarea" onKeyDown="LimitTextArea(this)" onKeyUp="LimitTextArea(this)" onkeypress="LimitTextArea(this)" ></textarea>

 

从网上摘抄来的,希望对大家有帮助哦~~

posted @ 2009-04-27 14:45 butterfly 阅读(7871) 评论(1) 编辑
怎样去表单多行文本框滚动条
<textarea style="overflow:hidden;border-width:0px;background-Color:buttonface;">
永远没有滚动条
</textarea>
<textarea style="overflow:auto;border-width:0px;background-Color:buttonface;">
字多了才会有滚动条
</textarea>
<textarea style="overflow:visible;border-width:0px;background-Color:buttonface;">
字多了也不会有滚动条,但是会被撑开
</textarea>
posted @ 2009-04-27 11:35 butterfly 阅读(562) 评论(0) 编辑
2009年4月26日
未能加载文件或程序集“AjaxControlToolkit”或它的某一个依赖项。系统找不到指定的文件

    我们在学习ajax的时候一般需要安装ajax的一些控件,安装好ajax1.0后,还要添加AjaxControlToolkit控件,即AjaxControlToolkit.dll文件,这个时候可能会出现如题的错误,通过在网上查找解决方法,总结了下个人解决的方法,应该能解决大家的问题:

解决方法:  
    从http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=1425
    下载 "AjaxControlToolkit-NoSource.zip "
    解压后在"AjaxControlToolkit-NoSource\AjaxControlExtender"文件夹中有一个
    "AjaxControlExtender.vsi"初学者工具包,点击安装。
安装好后,
    在vs2005中,点击"文件"-->"新建"-->"网站"  在弹出的新建网站窗体中,将看到
    "我的模板下"有一个AJAX Control Toolkit Web Site 模块,选择它,新建一个网
    站,将此项目中的"AjaxControlToolkit.dll"添加到你的项目中,此时你将看到它
    同时添加了针对不同国家或地区的资源文件。
此时你再编译,将不会出现此错误了。

顺便再提供点有用的资料:

附录:
一.Microsoft Ajax asp.net Web开发示例教程网站
    http://www.asp.net/ajax/
二.Microsoft Ajax开发工具包对应的下载地址
* ASP.NET 2.0, which is part of the Microsoft .NET Framework version 2.0, avai
  lable from
    http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx.

* Microsoft ASP.NET AJAX v1.0, available from
    http://go.microsoft.com/fwlink/?LinkID=77296.

* Microsoft ASP.NET AJAX Futures CTP, available from
   http://go.microsoft.com/fwlink/?LinkID=77294.

* Microsoft ASP.NET AJAX Control Toolkit, available from
   http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=AtlasControlToolkit

三.Ajax 技术资源中心
   网址:  http://www.ibm.com/developerworks/cn/ajax/
   说明:  从"Ajax新手入门"开始,然后介绍"Ajax 工具和相关标准",并建有"开发者社区"来进行技术讨论,
          以使开发者能 "使用 Ajax 技术创建更高交互性的 Web 应用程序".
          不过大多是针对java开发人员的.

四. Ajax框架--AjaxPro.NET下载
     http://www.schwarz-interactive.de/
    AjaxControlToolkit 下载
     http://ajax.asp.net/downloads/default.aspx?tabid=47
     http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=1425

posted @ 2009-04-26 23:06 butterfly 阅读(3438) 评论(3) 编辑
2009年4月22日
一个很漂亮的图片浏览效果js
摘要: /Files/butterfly/图片浏览.rar,很漂亮,大家可以下来看看~阅读全文
posted @ 2009-04-22 15:28 butterfly 阅读(3181) 评论(3) 编辑
js标签切换
摘要: 一个js+css+div的切换标签的效果,感觉还可以。/Files/butterfly/tab.rar阅读全文
posted @ 2009-04-22 15:25 butterfly 阅读(1035) 评论(0) 编辑
2009年4月11日
工作进度进度条js
摘要: /*** 绘制简单百分比进度条* barId 进度条span的ID* fPercent 完成的百分数* strCaption 标题* iHeight 高度* iUnit 最小单位* bgcolor 背景颜色* border 边框样式* cursor 光标样式*/function SimplePercent(barId, fPercent, strCaption, iHeight, iUnit, b...阅读全文
posted @ 2009-04-11 12:40 butterfly 阅读(543) 评论(0) 编辑
一切都会好起来的
摘要: 虽然现在感觉生活很乱,一团糟,很多事情,觉得自己快压得喘不过气了,心里也相当郁闷,但是我相信一切都会慢慢好起来的。BF的离开,到另外一个城市去发展,留我独自在这里暂且生活着,工作着,心里有一点失落,多了一份对他的牵挂,希望他能尽快找到工作,我相信他,因为他真的很优秀;公司里,老大的不断的任务,压得有点喘不过气,心里一直好像都在担心,这个任务应该怎么去完成,我到底能不能完成,能不能给他一个满意的结果...阅读全文
posted @ 2009-04-11 12:37 butterfly 阅读(38) 评论(0) 编辑
仅列出标题  下一页
Copyright ©2012 butterfly