在asp.net 2.0生成的JS中
<script type="text/javascript">
<!--
var theForm = document.forms['Form1'];
if (!theForm) {
    theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
// -->
</script>
中比1.1版中多出下面的判断。
if (!theForm.onsubmit || (theForm.onsubmit() != false))
使得<form id="Form1" method="post" runat="server" name="Form1" onSubmit="return login_check() && checkDate1() && checkDate2();">
中自定义的验证函数每当触发器控件的AutoPastBack时都要验证一回。
感觉很不爽。
原来在asp.net 1.1 下就很OK。。
请教要怎么修改来适应asp.net 2.0以达到和1.1时一样的效果。

解决方案 »

  1.   

    Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "s", "return login_check() && checkDate1() && checkDate2();");
      

  2.   

    兄台。。
    还是没有实现我要的功能
    怎么避免AutoPastBack = True时就提交页面
      

  3.   

    兄台。。
    还是没有实现我要的功能
    怎么避免AutoPastBack = True时就提交页面
      

  4.   

    兄台。。
    还是没有实现我要的功能
    怎么避免AutoPastBack = True时就提交页面
      

  5.   

    怎么避免AutoPastBack = True时就提交页面?既然是提交,就得执行,
    你可以将这个方法放在<asp:Button onclientclick="xxxxxxxxxxxxxxx()"/>里执行
      

  6.   

    但是用asp.net 1.1的时候。
    这样的语句是能实现我要的效果的
    <form id="Form1" method="post" runat="server" name="Form1" onSubmit="return login_check() && checkDate1() && checkDate2();">
      

  7.   

    如果你确实需要,你可以写:Page.ClientScript.RegisterStartupScript(Page.GetType(), "updateDoPostBackFunc", 
      @"<script type=""text/javascript"">
       __doPostBack = function(eventTarget, eventArgument) 
      {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
      }
      </script>");
    "
      

  8.   

    不用对asp.net自动生成的代码敬而远之。
      

  9.   

    感谢sp1234(情色玩的不够,继续上奥运玩吧)兄台
    你的代码能实现我的要求。。
    但是感觉页面有两个__doPostBack = function(eventTarget, eventArgument) 
    总觉得怪怪的
      

  10.   

    感谢sp1234(情色玩的不够,继续上奥运玩吧)兄台
    你的代码能实现我的要求。。
    但是感觉页面有两个__doPostBack = function(eventTarget, eventArgument) 
    总觉得怪怪的
      

  11.   

    感谢sp1234(情色玩的不够,继续上奥运玩吧)兄台
    你的代码能实现我的要求。。
    但是感觉页面有两个__doPostBack = function(eventTarget, eventArgument) 
    总觉得怪怪的