我只是加了一段连接数据库的代码,然后把结果显示在页面上一个datagrid里
如下:
odcn = New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" _
            & Server.MapPath("/myshop/bussdb.mdb;"))
        odcmd = New OleDb.OleDbDataAdapter("SELECT top 10 shopping as 货品名称,count(*) as 销售数量 FROM shoppinginfo group by shopping order by count(*) DESC", odcn)
        odcmd.Fill(ds, "lftable")
        dgtop10.DataSource = ds.Tables("lftable").DefaultView
        dgtop10.DataBind()结果本来正常的页面上其他按钮都不执行了,我在page_load里加了If Not IsPostBack 来控制
还是不行,请大家帮忙解答,40分相送

解决方案 »

  1.   

    Page_Load里面的代码请放在
    if(!this.IsPostBack){
       // your bind code ...
    }
    里面
      

  2.   

    注意一下Button1_Click(.....) handles ...方法后面带handles,如果没有就不会执行
      

  3.   

    如果加If Not IsPostBack ,按钮事件回递不执行其中的代码,如果不加If Not IsPostBack ,回递后将会再次绑定
      

  4.   

    把这些代码放到里面
    private void Page_Load(object sender, System.EventArgs e)
    {
        if(!IsPostBack)
        {
    //代码
        }
    }
      

  5.   

    看看按钮的click事件又没有添加!有时候.net的事件无端端不见了,要重新添加的不会手写事件就重新添加按钮啦!我感觉C#加事件比VB.net方便很多
      

  6.   

    拜托大家救命啊!一:Button1_Click(.....) handles ...肯定是有的,我的按钮也是可以执行的
    (在没有加上面那段代码之前)
    二:我
    Page_Load里面的代码放在
    if(!this.IsPostBack){
    // your bind code ...
    }
    里面不行,放在外面也不行.但是把那段代码一删掉,怎么样都没问题,郁闷啊,求解阿,呼号大家救命阿!
      

  7.   

    逐次双击按钮,再次生成 button_Click()事件,有时.net会因为一些错误是事件句柄失效,试试看,我以前遇到这样问题,就是这样的解决的
      

  8.   

    请把按钮代码和page_onload里的代码贴出来!
      

  9.   

    代码如下:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack Then
                '检测是否登陆
                If Session("user") = "" Then
                    Labusersts.Visible = False
                    btgai.Visible = False
                    labuser.Visible = True
                    txtuser.Visible = True
                    labpsd.Visible = True
                    txtpsd.Visible = True
                    btlog.Visible = True
                    btreg.Visible = True
                End If
                Labusersts.Text = "欢迎你:会员" & Session("user")            odcn = New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" _
                    & Server.MapPath("/myshop/bussdb.mdb;"))
                odcmd = New OleDb.OleDbDataAdapter("SELECT top 10 shopping as 货品名称,count(*) as 销售数量 FROM shoppinginfo group by shopping order by count(*) DESC", odcn)
                odcmd.Fill(ds, "lftable")
                dgtop10.DataSource = ds.Tables("lftable").DefaultView
                dgtop10.DataBind()
            End If      End Sub'任一个按钮事件
        Private Sub btreg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btreg.Click
            Response.Redirect("reg.aspx")    End Sub其实页面上有5-6个按钮,反正每个都失效.
    以上举了个只有一句代码的按钮,这也失效,还有没有天理阿?
      

  10.   

    代码如下:
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            If Not IsPostBack Then
                '检测是否登陆
                If Session("user") = "" Then
                    Labusersts.Visible = False
                    btgai.Visible = False
                    labuser.Visible = True
                    txtuser.Visible = True
                    labpsd.Visible = True
                    txtpsd.Visible = True
                    btlog.Visible = True
                    btreg.Visible = True
                End If
                Labusersts.Text = "欢迎你:会员" & Session("user")            odcn = New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" _
                    & Server.MapPath("/myshop/bussdb.mdb;"))
                odcmd = New OleDb.OleDbDataAdapter("SELECT top 10 shopping as 货品名称,count(*) as 销售数量 FROM shoppinginfo group by shopping order by count(*) DESC", odcn)
                odcmd.Fill(ds, "lftable")
                dgtop10.DataSource = ds.Tables("lftable").DefaultView
                dgtop10.DataBind()
            End If      End Sub'任一个按钮事件
        Private Sub btreg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btreg.Click
            Response.Redirect("reg.aspx")    End Sub其实页面上有5-6个按钮,反正每个都失效.
    以上举了个只有一句代码的按钮,这也失效,还有没有天理阿?
      

  11.   

    odcn = New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" _
                    & Server.MapPath("/myshop/bussdb.mdb;"))
                odcmd = New OleDb.OleDbDataAdapter("SELECT top 10 shopping as 货品名称,count(*) as 销售数量 FROM shoppinginfo group by shopping order by count(*) DESC", odcn)
                odcmd.Fill(ds, "lftable")
                dgtop10.DataSource = ds.Tables("lftable").DefaultView
                dgtop10.DataBind()
    这段代码里的变量都没有定义啊!
      

  12.   

    如果都定义了,编译也通过了!应该不会出现这个问题的!还有你有没有用过:SmartNavigation="true"
      

  13.   

    定义了,编译过了.
    SmartNavigation="false"的,大家帮忙想想啊.
    难道这段代码会影响其他所有按钮下事件的执行吗?
      

  14.   

    你的代码初步看来是没有什么问题的,我想可能是别的事件影响了它你在BUTTON事件中设置一个断点,看看能不能追踪到??
      

  15.   

    超链接没有问题,完全正常.
    连datagrid里的按钮列也是正常的,就是按钮控件都不执行了大家帮忙想想,影响按钮事件都会是什么原因导致的?
      

  16.   

    我自己解决了

    enableviewstate设为false就可以了
    但是不知道为什么这样就可以解决?
    enableviewstate是什么意思?
    谁解释一下我就把分给他了,也该结贴了
      

  17.   

    enableviewstate包括
    Control.enableviewstate
    和Page.enableviewstate两种
    如果服务器控件维护自己的视图状态,则为 true;否则为 false。默认值为 true
    备注:有时禁用视图状态更合适,特别是为了提高应用程序性能时。例如,如果要将数据库请求加载到服务器控件中,请将此属性设置为 false。如果不这样做,处理器时间将浪费在将视图状态加载到服务器控件上,而这些状态只是由数据库查询重写。如果你将Page.enableviewstate设置为假这将禁用 Page 对象的视图状态,意味着既不保存页的视图状态信息,也不保存页所包含的任何控件。
    具体详细解释
    ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWebUIPageClassEnableViewStateTopic.htm
    ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemWebUIControlClassEnableViewStateTopic.htm