注册 登录
编程论坛 ASP.NET技术论坛

onClick响应函数的问题

shixing56 发布于 2008-02-17 16:08, 1323 次点击
前台代码:
<form id="login" runat="server">     
<asp:ImageButton ID="IbtnEnter" ImageUrl="/admin/images/admin_menu.gif"runat="server" Style="width: 76px; height: 26px;" OnClick="Sys_Login"/>
</form>
后台响应函数:
    protected void Sys_Login()
    {
        if (TxtUserName.Text == "")
        {
            Page.RegisterStartupScript("", "<script>alert('请输入用户名');</script>");
        }
        OleDbConnection conn = new OleDbConnection();
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data/user_name.mdb");
        conn.Open();
        conn.Close();
    }
点击按纽时提示:
Compiler Error Message: CS0123: No overload for 'Sys_Login' matches delegate 'System.EventHandler'
如果上面响应函数里加上object sender, EventArgs e这两个参数就可以正常响应了,但当一开始打开页面时该函数会在没点击的情况下首先执行一次,请问这是什么原因?我该如何解决,先谢了!
3 回复
#2
smoon2008-02-20 19:45
No overload for 'Sys_Login' matches delegate 'System.EventHandler'是不是在别的地方调用代理什么了啊?
#3
skyland842008-02-21 00:30
你怎么知道他先执行 了?
没有给全部代码出来;出问题的可能性太多了;
如果你是通过 Page.RegisterStartupScript("", "<script>alert('请输入用户名');</script>");
这句判断他先执行了  那有可能是你JS 里哪里写同意的语句;这句提示处理 也 没有 返回 结束  照样执行下面的反问数据库;执行效率低。该改善下吧 朋友~![bc07]
#4
bygg2008-02-21 09:16
protected void Sys_Login(object sender, EventArgs e)
1