我需要处理文本框的回车,用来触发服务器事件,
这用到了__doPostBack(eventTarget, eventArgument)可是这和datagrid的EditCommandColumn
的__doPostBack()产生了冲突,怎么办?
这用到了__doPostBack(eventTarget, eventArgument)可是这和datagrid的EditCommandColumn
的__doPostBack()产生了冲突,怎么办?
解决方案 »
- 修改密码的代码
- 个人网站初学者工具包的问题
- 直接输入文件夹名字访问其中的index.htm页面怎么设置
- 动态添加用户控件,这段代到底出错在哪里?大家帮我看看!
- |zyciis| 200分求 搞不懂.NET缓存是怎么回事 <%@ OutputCache Duration="120" VaryByParam="*" %>
- 告急...VS2003下设置断点,为什么跑不进去??数据却能取到!!
- asp.net 使用timer 计时器的问题
- sql 问题 急
- 挂在服务器上的网站内网访问速度很快,但是外网打开的速度很慢是何原因
- DataGrid中怎么样找到放入模板列的Header中的控件呢?
- 后台绑定datalist中编辑模板中的项
- dropdownlist控件有autopostback属性,为啥button控件没有?
前台用js控制
<script language=javascript event = onkeydown for= textbox1>
if(event.keyCode == 13)
document.all.Button1.click();
</script>
jimu8130(世界杯结束了,人散茶凉) 都写好了
<script language=javascript event = onkeydown for= textbox1>
if(event.keyCode == 13)
document.all.Button1.click();
</script>
这么写只能触发html按钮而不能触发服务器端按钮!
Test.aspx
自己添加个TextBox1,button,Label,然后写如下代码:<input type="hidden" name="__EVENTTARGET"> <input type="hidden" name="__EVENTARGUMENT"> <script language="javascript" type="text/javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.Form1;
}
else {
theform = document.forms["Form1"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>test.aspx.cs:Page_Load 里写:
TextBox1.Attributes.Add("onkeydown","javascript:if (13 == window.event.keyCode){__doPostBack('Button1','');return false;}");
private void Button1_Click(object sender, System.EventArgs e)
{
this.Label1.Text = "Test ok!";
}
绑定数据后,
文本框的回车事件就无效了,
因为处理回车事件用到了底层的function __doPostBack(eventTarget, eventArgument)
触发EditCommandColumn列 也用到了
大家把鼠标停到EditCommandColumn列的时候就可以看到
浏览器左下方有提示
我按着你的写了,怎么就是不行呢?
-------------------------------------------很正常.
说他的就能行的
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript">
function isshuzi(s)
{
var shuzi="0123456789";
var i;
for (i = 0; i < s.length; i++)
{
var c = s.charAt(i);
if (shuzi.indexOf(c)<0)
{
alert("请输入数字");
}
}
}</script>
</head><body>
<form name="form1" method="post" action="">
<input type="text" name="t1" onKeyDown="isshuzi(this.value)">
</form>
</body>
</html>
我出的问题是因为不知道有DataGrid的页面会自动生成__doPostBack,造成了重复,所以出现问题.
分该给谁呢?
帮我看看这个贴吧,搞定后两个贴的分一起都给他
http://community.csdn.net/Expert/topic/4887/4887953.xml?temp=.9717523
... </script>----------->这一坨是它自己生成的,只要有一个自动回传为true的。去掉这段就可以了。