view the html source code in the browser and check if __doPostBack is generated

解决方案 »

  1.   

    当只有一页时,在html代码中没有 看到__dopostback(),当有多页时,会有__dopostback(),我在另一贴中也问到了这个问题,可是没有人能够回答这个问题。
      

  2.   

    再顶一下。当只有一页时,如何让他能够回传?能够执行__dopostback()?
      

  3.   

    try<asp:LinkButton ID="Deleteemail" Runat="server" OnClick="delemail_click" style="display:none"></asp:LinkButton>
    by the way, you don't need to call __doPostBack directly, call 
    Deleteemail.click();
    instead
      

  4.   

    我改成了:
    <script language="javascript">
    function delemail(id)
    {
     if(confirm("要删除吗?"))
     {
      document.forms["admin_maillist_gl"].elements["emailid"].value=id;
      Deleteemail.Click();
     }
    }
    </script>
    结果提示:document.forms....这一行“对象不支持此属性或方法"
      

  5.   

    你要注册页面引用
    this.RegistPageReference或者是this.GetPageReference,到底怎么写我忘了,你敲个this到页面就会有提示的(要是VB的话就敲me),你把这句话写上,就会生成__doPostback相关代码
      

  6.   

    现在的主要问题是单页的时候因为不出现__doPostBack()这个方法。治标比治本的方法是
    直接对 __doPostBack("Deleteemail","");这句进行异常捕获。
    try{
      __doPostBack("Deleteemail","");
    }
    catch{
    }
    //看能否解决你的问题 我在想,你删除的代码写在服务端,客户端仅仅是一个确认提示,为什么要用__doPostBack((),直接让删除按钮添加客户端事件,return isdelemail(id)
    function isdelemal(id){
        return window.confirm("确定要删除编号为 "+id+ "的邮件吗?");
    }
    当然这样写的话需要在服务端代码中为DataGrid的每行都绑定这个客户端事件
      

  7.   

    在单页的情形下,ASP.NET没生成__doPostBack的原因是因为他用的是Visible=false,在多页的情形下,由於有前后页的连接,就自动生成__doPostBack脚本了
      

  8.   

    jjstar(北人) :谢谢您的提醒,我在该页面的cs页面内的page_load()里加上了:
    this.GetPostBackEventReference(Deleteemail);
    结果不管是多页还是一页,都可以正常执行上面的代码了。
    谢谢大家。