javascript无法调用后台方法(__doPostBack('Del','');方法无效),高手请进!急!!在线等待!
javascript无法调用后台方法(__doPostBack('Del','');方法无效),高手请进!急!!
前台JS代码:
<%@ Page language="c#" ContentType="text/html" ResponseEncoding="gb2312" Codebehind="unameAdd.aspx.cs" AutoEventWireup="false" Inherits="WebApplication2.unameAdd" %>
<HTML>
<HEAD>
<title>通讯录网络添加</title>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta http-equiv="Pragma" content="no-cache">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<LINK href="../images/text01.css" type="text/css" rel="stylesheet">
<script language="javascript">
function Delete(path){
if (confirm('删除后将不可恢复。您确认删除吗?')){
document.forms['Form1'].elements['DelID'].value = path;
alert(document.forms['Form1'].elements['DelID'].value );
//DelID为一个标签的ID
__doPostBack('Del','');
}
}
</script>
</HEAD>
注:这段代码在另外一个页面上就可以用。
Del是一个服务器端的图片按钮,在服务器端可以运行它。打开IE用JS调用它(Del_Click)时脚本出错,提示对象(__doPostBack('Del','');
这里出错,上一行的alert(document.forms['Form1'].elements['DelID'].value )可以运行。)不存在。但服务器端的Del_Click方法是可用的。请问各位大虾哪里出问题了。谢谢!
问题点数:100、回复次数:14Top
1 楼xiaomaolover(小M)回复于 2005-08-18 11:42:32 得分 0
Del是一个服务器端的图片按钮
你看一下这个图片按钮的事件是怎么触发的,并没有去执行__doPostBack
所以你这样调用会出错。
解决方法:
你可以用一个
LinkButton1 的text = "<img.....>"
这样再去调用JS的__doPostBack就可以了。
打开IE用JS调用它(Del_Click)时脚本出错????
我觉得打开IE的时候调用会出问题,,,会一直加载吧?
Top
2 楼wzpwork(东方红叶)回复于 2005-08-18 11:44:05 得分 0
自己先顶!!Top
3 楼smx717616(又笨又不努力)回复于 2005-08-18 11:57:09 得分 5
那就直接 .click ..Top
4 楼wzpwork(东方红叶)回复于 2005-08-18 12:00:47 得分 0
TO smx717616(闭关中…) :
我要从客户端来调用服务端的click 事件,请教如何直接用.Click?Top
5 楼Zoujinyucn(不会游泳的鱼)回复于 2005-08-18 12:02:27 得分 5
alert(document.forms['Form1'].elements['DelID'].value存在的话是不是说明你的图片ID是DelID?
那应该__doPostBack('DelID','');吧
而且cs文件按里面注册DelID的事件Del.Click += ……Top
6 楼yb2008(中科商务网--ZKE360.COM)回复于 2005-08-18 12:07:00 得分 0
关注+学习+顶!Top
7 楼athossmth(athos)回复于 2005-08-18 12:13:21 得分 50
dopostback是asp.net写到页面里的,不是任何时候都有的,试着在页面放一个0X0的、autopostback=true的dropdownlist,这会保证有dopostbackTop
8 楼jimu8130(火箭的未来在哪里?)回复于 2005-08-18 12:14:39 得分 10
_dopostback这个方法当你运行后你察看你的页面源代码是否有这个方法或者有这个方法所在的js文件包括进去了么?其次他里面用id是控件客户端的id而不是服务端的idTop
9 楼wzpwork(东方红叶)回复于 2005-08-18 13:03:26 得分 0
我查看了一个页面源码,没有dopostback对象,也就是说它没有自动把dopostback加到里面去。谢谢!
Top
10 楼fancyf(凡瑞)回复于 2005-08-18 13:05:42 得分 10
Do not call dopostback directly
use Page.GetPostBackEventReference insteadTop
11 楼wzpwork(东方红叶)回复于 2005-08-18 13:06:42 得分 0
谁能告诉我一下,为什么有些页面没有把dopostback,这个对象怎么设置它在页面上自动加载。
Top
12 楼zhaoliang_chen(龙行天下)回复于 2005-08-18 13:16:03 得分 0
upTop
13 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-08-18 13:35:22 得分 20
http://www.cnblogs.com/lovecherry/archive/2005/04/18/139634.htmlTop
14 楼wzpwork(东方红叶)回复于 2005-08-18 13:59:39 得分 0
问题已经解决了,谢谢大家。谢谢!Top




