如题:
前台代码:
<asp:Button id="btn_AddClient" runat="server" CssClass="redbuttoncss" Text="添加客户" OnClick="btn_AddClient_Click"></asp:Button>.cs代码:  private void btn_AddClient_Click(object sender, System.EventArgs e)//添加客户
        {
            Response.Write("<script>javascript:window.open('Client.aspx','_blank');</script>");
        }出现的错误是:第一个参数的扩展方法“btn_AddClient_Click”(是否缺少 using 指令或程序集引用?)
如何搞好它啊?在线等,傻傻地等

解决方案 »

  1.   

    你的Button代码好像有问题啊,应该是
    <asp:Button id="btn_AddClient" runat="server" CssClass="redbuttoncss" Text="添加客户"
     OnClick="btn_AddClient_Click"/>
      

  2.   

    缺少引用就添加引用呗,把鼠标定位到报错的地方,按Shift+Alt+F10,然后选择命名空间试试
      

  3.   


    事件最好不要手动写,尽量用自动生成把事件的访问修饰符改了试试private ==》protected不出意外应该是这个问题
      

  4.   


    //将后台代码改为:
    protected void btn_AddClient_Click(object sender, EventArgs e)
            {
                Response.Write("<script>javascript:window.open('Client.aspx','_blank');</script>");
            }
      

  5.   

    应该是onclick="btn_AddClient_Click"
    你写成OnClick="btn_AddClient_Click",它把OnClick当成扩展方法了。
      

  6.   

    前台代码:
    <asp:Button id="btn_AddClient" runat="server" CssClass="redbuttoncss" Text="添加客户" OnClick="btn_AddClient_Click"></asp:Button>
    这样跟<asp:Button id="btn_AddClient" runat="server" CssClass="redbuttoncss" Text="添加客户" OnClick="btn_AddClient_Click"/>
    的写法都是正确的另外VS2008里只有OnClick我不知道onclick是不是也可以还有
    private void btn_AddClient_Click(object sender, EventArgs e)
    换成
    protected void btn_AddClient_Click(object sender, EventArgs e)
    也还是不行太头痛了,很感谢大家回复,继续等.
      

  7.   

    我新建了一个项目,就添加一个button然后双击它在后台.cs文件里加入代码事件结果成了但是我不知道我原来的项目里为什么不成功,继续等强力人士出现
      

  8.   

    检查页面头部的CodeBehind是否对应代码页面
    检查页面头部的Inherits是否对应代码类
      

  9.   

    aspx文件头部代码:<%@ Page language="c#" Codebehind="ClientListView.aspx.cs" AutoEventWireup="True" Inherits="UDS.SubModule.CM.ClientListView" %>...
    <asp:Button id="btn_Del" runat="server" CssClass="redbuttoncss" Text="删 除"  OnClick="btn_Del_Click"></asp:Button>
                                        
    <asp:Button id="btn_AddClient" runat="server" CssClass="redbuttoncss" Text="添加客户" OnClick="btn_AddClient_Click"></asp:Button>
                                        
    <asp:Button id="btn_AddLinkman" runat="server" CssClass="redbuttoncss" Text="添加联络人"  OnClick="btn_AddLinkman_Click"></asp:Button>
                                            
    <asp:Button id="btn_AddContact" runat="server" CssClass="redbuttoncss" Text="添加接触" OnClick="btn_AddContact_Click"></asp:Button>.cs文件:
    头:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    ....public partial class ClientListView : System.Web.UI.Page
    {
    .....
    主要部分:
            protected void btn_AddLinkman_Click(object sender, EventArgs e)//添加联系人
            {
                //遍历datagrid得到选中的最后一个checkbox的id
                string selectedstring = GetSelectedItemID("cbx1");
                string[] arrselectedstring = selectedstring.Split(',');
                string id = arrselectedstring[arrselectedstring.GetLength(0) - 1];
                Response.Write("<script>javascript:window.open('Linkman.aspx?ClientID=" + id + "&from=ClientList','_blank');</script>");
            }        protected void btn_AddContact_Click(object sender, EventArgs e)//添加接触
            {
                //遍历datagrid得到选中的最后一个checkbox的id
                string selectedstring = GetSelectedItemID("cbx1");
                string[] arrselectedstring = selectedstring.Split(',');
                string id = arrselectedstring[arrselectedstring.GetLength(0) - 1];
                Response.Write("<script>javascript:window.open('ClientContact_thisWeek.aspx?ClientID=" + id + "','_blank');</script>");
            }        protected void btn_AddClient_Click(object sender,EventArgs e)//添加客户
            {
                Response.Write("<script>javascript:window.open('Client.aspx','_blank');</script>");
            }        protected void btn_Del_Click(object sender, EventArgs e)//删除
            {
                string selectedstring = "";
                foreach (DataGridItem dgi in dgd_Client.Items)
                {
                    for (int i = 0; i < dgi.Cells[0].Controls.Count; i++)
                    {
                        if (dgi.Cells[0].Controls[i].GetType().ToString() == "System.Web.UI.WebControls.CheckBox")
                        {
                            if (((CheckBox)dgi.Cells[0].Controls[i]).Checked == true)
                            {
                                selectedstring += dgd_Client.DataKeys[dgi.ItemIndex].ToString() + ",";
                            }
                        }
                    }
                }
      

  10.   

    命名空间是统一的CMS_base
    我就不写上来了
      

  11.   

    Inherits="UDS.SubModule.CM.ClientListView"你这个对劲么?
    不是同一的CMS_base么?
    应该是
    Inherits="CMS_base.ClientListView"吧?你在同目录下新建个aspx页面,然后对比下头部,看看命名空间是不是一样的
      

  12.   

    看错了命名空间是UDS.SubModule.CM
      

  13.   

    新建了个页面头部是这样的 CodeBehind="WebForm1.aspx.cs" Inherits="UDS.SubModule.CM.WebForm1" 没错吧,但是原来的地方还是错的
      

  14.   


    是不是这个按钮的AutoPostBack属性没有设置为True啊
      

  15.   

     private void btn_AddClient_Click(object sender, System.EventArgs e)//添加客户
      {
      Response.Write("<script>javascript:window.open('Client.aspx','_blank');</script>");
      }
    私有的 你能访问到?
    就算不是这个原因  你事件也会报错
      

  16.   

    楼主,把你的click事件的访问修饰符private改为protected
    就是这个问题。
    控件已经封装好的事件访问修饰符一般都是protected。
    如果要把它改为private,编译时会默认为扩展方法。
      

  17.   

    我新建了个页面,上面放个按钮又击这在.cs事件代码里加入response.write("<script>alert('正常了没有!?')</script>")
    结果运行该页面的时候竟然跟上面一样的错误Button_Click(是否缺少 using 指令或程序集引用?
    这个版本的软件开发经历了VS2003 VS2005(当然不是我做的) 现在我用VS2008来升级简直是悲剧
      

  18.   

    前台把 onclick事件删掉,重新双击按钮生成事件,把原事件中的代码COPY到新生成的事件中。OVER
      

  19.   

    我试过了新建页加button双击之.cs里加代码
    还是报错我都快想从十一楼跳下去了
      

  20.   


    也许你同命名空间下的某个普通类和你的Web窗体类同名
    导致找到的Web窗体找的普通类里面的方法。
    你找找看有没有同名的类吧
    private改成protected这个也是必须的,访问级别private前台访问不到
      

  21.   

    兄弟姐妹们,问题解决了,很简单,新编译一次我发现生成的DLL没有生成成功,也就是没把DLL库覆盖原来错误的DLL,很感谢大家回复,开始给分嘎嘎