这样我们就可以通过这个属性返回到“上一页”,
示例如下
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();
}
2. 如果有A,B两个页面,在浏览器中直接请求A页面,在A页面的中Page_Load事件中导航到B 页面,则 Request.UrlReferrer返回空。因为 在Page_load事件中页面还未初始化,所以无法记录当前页的信息,导航到b页面也就无法获得上一页面的信息
3. 点击刷新按钮不会改变Request.UrlReferrer
运行的时候提示出现错误:
错误类型:
Microsoft JScript 编译错误 (0x800A03EC)
缺少 ';
把<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
改成<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
或者反过来,或者把子这一行去掉就行了
实现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>
从网上摘抄来的,希望对大家有帮助哦~~
永远没有滚动条
</textarea>
<textarea style="overflow:auto;border-width:0px;background-Color:buttonface;">
字多了才会有滚动条
</textarea>
<textarea style="overflow:visible;border-width:0px;background-Color:buttonface;">
字多了也不会有滚动条,但是会被撑开
</textarea>
我们在学习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
