请教高手!我想通过点击一个图片(客户端类型)先执行一段javascript脚本,然后到后台执行!但不知道怎么触发后台事件!

时间:2022-09-25 08:49:38
我本来是想提交到一个页面处理的,但到了第二的页面的时候报错,我第二个页面什么都没有做就报出:

“此页的视图状态无效,可能已损坏。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.HttpException: 此页的视图状态无效,可能已损坏。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[HttpException (0x80004005): 此页的视图状态无效,可能已损坏。]
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +150
   System.Web.UI.Page.LoadPageViewState() +18
   System.Web.UI.Page.ProcessRequestMain() +423

 ”
我就只能在本页面的后台处理了,但不知道客户段的控件怎么样先执行客户端的时间再执行服务端的事件?
请高手帮忙给点思路或方法!谢谢!

6 个解决方案

#1


use xmlHttp or WebService Behavior

#2


ImageButton
onclick="YourJavaSciptFunction()"
后台代码再 ImageButton_Click(ojbect o, EventArgs e)内

#3


dopostback("Button1")

#4


编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误信息: CS0117: “ASP.flow_page_aspx”并不包含对“saveFlowInfo”的定义

源错误:

 

行 1338: </td>
行 1339: <td>
行 1340: <asp:ImageButton id="ImageButton1" runat="server" onmouseover="this.style.cursor='hand';" onclick="saveFlowInfo()" src="image/bc.gif"></asp:ImageButton>
行 1341: <IMG id="img_save" onmouseover="this.style.cursor='hand';" onclick="saveFlowInfo()" src="image/bc.gif">
行 1342: </td>
 

源文件: c:\inetpub\wwwroot\cjfms1\flow_page.aspx    行: 1340 

#5


按照你说的是不是希望实现这样的效果当用户点击img_save时,先调用某段js脚本,然后才是执行cs代码中某个函数。
基于上面的假设,我可能会这么来做:
在页面上放置一个button1(server端),编写它的click事件,这里当然是你希望运行的后台代码了。同时把这个控件的高和宽都设置为1,就是用户看不到这个button。
img_save调用js函数save(),save中在调用完你的js代码后,使用window.form1.button1.click();(假定的button1所在的form的ID是form1)。
完成。

以上是没有经过测试的代码,但应该没有问题.

#6


ImageButton1.attribute.add("onclick","saveFlowInfo()");

#1


use xmlHttp or WebService Behavior

#2


ImageButton
onclick="YourJavaSciptFunction()"
后台代码再 ImageButton_Click(ojbect o, EventArgs e)内

#3


dopostback("Button1")

#4


编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误信息: CS0117: “ASP.flow_page_aspx”并不包含对“saveFlowInfo”的定义

源错误:

 

行 1338: </td>
行 1339: <td>
行 1340: <asp:ImageButton id="ImageButton1" runat="server" onmouseover="this.style.cursor='hand';" onclick="saveFlowInfo()" src="image/bc.gif"></asp:ImageButton>
行 1341: <IMG id="img_save" onmouseover="this.style.cursor='hand';" onclick="saveFlowInfo()" src="image/bc.gif">
行 1342: </td>
 

源文件: c:\inetpub\wwwroot\cjfms1\flow_page.aspx    行: 1340 

#5


按照你说的是不是希望实现这样的效果当用户点击img_save时,先调用某段js脚本,然后才是执行cs代码中某个函数。
基于上面的假设,我可能会这么来做:
在页面上放置一个button1(server端),编写它的click事件,这里当然是你希望运行的后台代码了。同时把这个控件的高和宽都设置为1,就是用户看不到这个button。
img_save调用js函数save(),save中在调用完你的js代码后,使用window.form1.button1.click();(假定的button1所在的form的ID是form1)。
完成。

以上是没有经过测试的代码,但应该没有问题.

#6


ImageButton1.attribute.add("onclick","saveFlowInfo()");