我要改一段别人的代码 主要问题是gridview里的链接按钮不能显示 是哪块出了问题

解决方案 »

  1.   

    模板列<a href
    或hyperlink显示链接
      

  2.   

    请上代码linkbutton
    a href
      

  3.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;using OANew.BLL;
    using OANew.Model;namespace OANew.Web.Permission.Company
    {
        public partial class DepartmentExamines : System.Web.UI.Page
        {
            CompanyOa co = new CompanyOa();
            CompanyOaBll cobll = new CompanyOaBll();
            EmployeesDepartmentNew dep = new EmployeesDepartmentNew();
            EmployeesDepartmentNewBll depbll = new EmployeesDepartmentNewBll();
            Bull bull = new Bull();
            BullBll bullbll = new BullBll();
            UserRegisteredInfo userinfo = new UserRegisteredInfo();
            UserRegisteredInfoBll userinfobll = new UserRegisteredInfoBll();
            OaNewRole role = new OaNewRole();
            OaNewRoleBll rolebll = new OaNewRoleBll();
            EmployeesDepartmentMemberNew depmember = new EmployeesDepartmentMemberNew();
            EmployeesDepartmentMemberNewBll depmemberbll = new EmployeesDepartmentMemberNewBll();
            CompanyOaManager com = new CompanyOaManager();
            CompanyOaManagerBll combll = new CompanyOaManagerBll();
            OaNewPermission permission = new OaNewPermission();
            OaNewPermissionBll permissionbll = new OaNewPermissionBll();
            OaNewUserToGroupMap onutgm = new OaNewUserToGroupMap();
            OaNewUserToGroupMapBll onutgmbll = new OaNewUserToGroupMapBll();
                    string companyoanumber;
            string employeesdepartmentname;
            int companyid;
            ArrayList a;
            int userid;
            bool m;
            
      

  4.   

    protected void Page_Load(object sender, EventArgs e)
            {
                if (this.Request.QueryString["companyid"] == null)
                {
                    Response.Redirect("../../Login.aspx");
                }
                else
                {
                    companyoanumber = this.Session["companyoanumber"].ToString();
                    employeesdepartmentname = Session["employeesdepartmentname"].ToString();
                    userid = int.Parse(this.Session["userid"].ToString());
                    bull = bullbll.GetBullInfoById(userid);
                    companyid = int.Parse(this.Request.QueryString["companyid"].ToString());
                    bind();
                    bindpermission();
                }
            }        private void bind()
            {
                co = cobll.GetCompanyInfoByCompanyTail(companyid);
                TextBox4.Text = co.CompanyOaName;
                string tail = co.CompanyOaNoTail.ToString();
                int j = tail.Length;
                for (int i = 5 - j; i > 0; i--)
                {
                    tail = "0" + tail;
                }
                string companyno = co.CompanyOaNoHeader + tail;            DataTable dt = depbll.GetAllDepartmentInfo(companyno);
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
            private void bindpermission()
            {
                //if (userid != 902)
                depinfo = depbll.GetAllDepartmentInfo(companyno);
                if(depinfo.LoginName!="superuser")
                {
                    dep = depbll.GetDepartmentInfoByDepNameAndCompanyno(employeesdepartmentname, companyoanumber);
                    DataTable dt = onutgmbll.GetOaNewUserToGroupMapInfoByCardAndDepId(bull.BlessingCardNumber, dep.EmployeesDepartmentId);
                    Button1.Visible = false;
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        int groupid = int.Parse(dt.Rows[i]["OaUserGroupId"].ToString());
                        DataTable dt1 = permissionbll.GetOaNewPermissionInfoByOaUserGroupId(groupid);
                        for (int j = 0; j < dt1.Rows.Count; j++)
                        {
                            string flag = dt1.Rows[j]["Flag"].ToString();
                            if (flag.Substring(2, 2) + flag.Substring(4, 2) == "B1C1")  //添加
                            {
                                Button1.Visible = true;
                            }                    }
                    }
                }
            }       
      

  5.   

     public string GetDepNumber(int id)  //得到部门编码
            {
                dep=depbll.GetDepartmentInfoByDepId(id);
                string depnumber=dep.EmployeesDepartmentId.ToString();
                int j = depnumber.Length;
                for (int i = 5 - j; i > 0; i--)
                {
                    depnumber = "0" + depnumber;
                }
                return dep.DepartmentNoHeader + depnumber;
            }                public string GetDepMenager(string card)  //得到该部门主管
            {
                if (card == "")
                {
                    return "";
                }
                else
                {
                    bull = bullbll.GetUserByCard(card);
                    userinfo = userinfobll.GetAllRegisterInfoByID(bull.Id);
                    return userinfo.TrueName;
                }
            }
            public string GetTime(int id)
            {
                dep = depbll.GetDepartmentInfoByDepId(id);
                return dep.DepartmenDate.ToString().Split(' ')[0];
            }
            protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {
                GridView1.PageIndex = e.NewPageIndex;
                GridView1.DataBind();
            }        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
            {
                int id = int.Parse(e.CommandArgument.ToString());
                switch(e.CommandName)
                {
                    case "edit":       //编辑部门
                        {
                            string scriptStr = "location.replace('AddDepartment.aspx?companyid=" + companyid + "&type=" + 1 + "&depid=" + id + "');";
                            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", scriptStr, true);
                            break;
                        }
                    case "edit1":       //编辑部门员工
                        {
                            string scriptStr = "location.replace('AddDepartmentMember.aspx?companyid=" + companyid + "&depid=" + id + "');";
                            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", scriptStr, true);
                            //Response.Redirect(string.Format("AddDepartmentMember.aspx?companyid={0}&depid={1}", companyid, id), true);
                            break;
                        }
                    case "edit2":       //编辑部门职位
                        {
                            string scriptStr = "location.replace('RoleExamine.aspx?companyid=" + companyid + "&depid=" + id + "');";
                            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", scriptStr, true);
                            //Response.Redirect(string.Format("RoleExamine.aspx?companyid={0}&depid={1}", companyid, id), true);
                            break;
                        }
                    case "edit3":       //编辑部门主管
                        {
                            string scriptStr = "location.replace('AddDepartmentManager.aspx?companyid=" + companyid + "&depid=" + id + "');";
                            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", scriptStr, true);
                            //Response.Redirect(string.Format("AddDepartmentManager.aspx?companyid={0}&depid={1}", companyid, id), true);
                            break;
                        }
                    case "edit5":       //设置默认部门
                        {
                            string scriptStr = "location.replace('AddDefaultDepartment.aspx?companyid=" + companyid + "&depid=" + id + "');";
                            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", scriptStr, true);
                            //Response.Redirect(string.Format("AddDepartmentManager.aspx?companyid={0}&depid={1}", companyid, id), true);
                            break;
                        }
                    case "edit4":       //查看部门员工
                        {
                            string scriptStr = "location.replace('ExamineDepartmentMember.aspx?companyid=" + companyid + "&depid=" + id + "');";
                            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", scriptStr, true);
                            //Response.Redirect(string.Format("ExamineDepartmentMember.aspx?companyid={0}&depid={1}", companyid, id), true);
                            break;
                        }
                    case "del":       //删除部门
                        {
                            bool isok = false;
                            dep = depbll.GetDepartmentInfoByDepId(id);
                            string depno = dep.EmployeesDepartmentId.ToString();
                            int j1 = depno.Length;
                            for (int k1 = 5 - j1; k1 > 0; k1--)
                            {
                                depno = "0" + depno;
                            }
                            string depnumber = dep.DepartmentNoHeader + depno;  //部门编号                        DataTable codt = cobll.GetAllCompanyInfoByDepNumber(depnumber);
                            for (int m = 0; m < codt.Rows.Count; m++)
                            {
                                int companyid1 = int.Parse(codt.Rows[m]["CompanyOaNoTail"].ToString());
                                co = cobll.GetCompanyInfoByCompanyTail(companyid1);
                                string tail1 = co.CompanyOaNoTail.ToString();
                                int j2 = tail1.Length;
                                for (int k1 = 51 - j2; k1 > 0; k1--)
                                {
                                    tail1 = "0" + tail1;
                                }
                                string companyno1 = co.CompanyOaNoHeader + tail1;  //公司编号                            DataTable dt2 = depbll.GetAllDepartmentInfo(companyno1);                            for (int i2 = 0; i2 < dt2.Rows.Count; i2++)
                                {
                                    int depid1 = int.Parse(dt2.Rows[i2]["EmployeesDepartmentId"].ToString());
                                    if (depmemberbll.CheckDepartmentMemberByDepid(depid1))
                                    {
                                        depmemberbll.DeleteDepartmentMemberByDepId(depid1);//删除EmployeesDepartmentMemberNew
                                        isok = true;
                                    }
                                    OaNewUserGroupBll usergroupbll=new OaNewUserGroupBll();
                                    if (usergroupbll.CheckUserGroupByDepid(depid1))
                                    {
                                        usergroupbll.DeleteUserGroupByDepid(depid1);
                                    }
                                    if (rolebll.CheckRoleByDepid(depid1))
                                    {
                                        rolebll.DeleteRoleByDepid(depid1);  //删除OaNewRole
                                        isok = true;
                                    }
                                }                            if (depbll.CheckDepartmentNameByCompanyno(companyno1))
                                {
                                    depbll.DeleteDepartmentByCompanyNo(companyno1);  //删除EmployeesDepartmentNew
                                    isok = true;
                                }                            if (combll.CheckCompanyManagerByCompanyId(companyid1))
                                {
                                    combll.DeleteCompanyManagerByTail(companyid1);   //删除CompanyOaManager
                                    isok = true;
                                }
                                if (cobll.DeleteCompany(companyid1))   //删除CompanyOa
                                {
                                    isok = true;
                                }                        }
                            if (depmemberbll.CheckDepartmentMemberByDepid(id))
                            {
                                if (depmemberbll.DeleteDepartmentMemberByDepId(id))
                                {
                                    isok = true;
                                }
                            }
                            if (rolebll.CheckRoleByDepid(id))
                            {
                                if (rolebll.DeleteRoleByDepid(id))
                                {
                                    isok = true;
                                }
                            }
                            if (depbll.DeleteDepartmentByDepId(id))
                            {
                                isok = true;
                            }
                            if (isok)
                            {
                                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "message", "alert('操作成功!')", true); 
                                
                            }
                            else
                            {
                                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "message", "alert('操作失败!')", true); 
                                
                            }
                            bind();
                            break;
                        }
                }
            }       
      

  6.   

    protected void Button1_Click(object sender, EventArgs e)
            {
                Response.Redirect(string.Format("AddDepartment.aspx?companyid={0}&type={1}", companyid, 0), true);
            }        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    /*代码测试分页后不能正确运行,已纠正                 LinkButton lkbDel = (LinkButton)e.Row.FindControl("DelButton");
                     lkbDel.Attributes.Add("OnClick", "javascript:return confirm('是否要删除该记录? " + this.GridView1.DataKeys[e.Row.DataItemIndex].Value + "')");     */                //以下为分页后正常绑定删除确认对话框脚本代码                LinkButton lkbDel = (LinkButton)e.Row.FindControl("LinkButton4");
                    int CurrentPageIndex = this.GridView1.PageIndex;
                    int CurrentPageSize = this.GridView1.PageSize;
                    int CurrentDateItem = e.Row.DataItemIndex - CurrentPageIndex * CurrentPageSize;
                    lkbDel.Attributes.Add("OnClick", "javascript:return confirm('是否要删除该记录?')");
                }
            }        protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow ||
                   e.Row.RowType == DataControlRowType.Header)
                {
                    //if (userid != 902)
                    depinfo = depbll.GetAllDepartmentInfo(companyno);
                    if (depinfo.LoginName != "superuser")
                    {
                        e.Row.Cells[4].Visible = false;
                        e.Row.Cells[5].Visible = false;                    e.Row.Cells[6].Visible = false;    //如果想使第1列不可见,则将它的可见性设为false
                        e.Row.Cells[7].Visible = false;
                        e.Row.Cells[8].Visible = false;
                        e.Row.Cells[9].Visible = false;
                        e.Row.Cells[10].Visible = false;                    DataTable dt = onutgmbll.GetOaNewUserToGroupMapInfoByCardAndDepId(bull.BlessingCardNumber, dep.EmployeesDepartmentId);                    for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            int groupid = int.Parse(dt.Rows[i]["OaUserGroupId"].ToString());
                            DataTable dt1 = permissionbll.GetOaNewPermissionInfoByOaUserGroupId(groupid);
                            for (int j = 0; j < dt1.Rows.Count; j++)
                            {
                                string flag = dt1.Rows[j]["Flag"].ToString();                            if (flag.Substring(2, 2) + flag.Substring(4, 2) == "B1C1")  //增加
                                {
                                    e.Row.Cells[5].Visible = true;
                                    e.Row.Cells[6].Visible = true;
                                    e.Row.Cells[7].Visible = true;
                                    e.Row.Cells[8].Visible = true;
                                }
                                if (flag.Substring(2, 2) + flag.Substring(4, 2) == "B1C2")  //删除
                                {
                                    e.Row.Cells[10].Visible = true;
                                }
                                if (flag.Substring(2, 2) + flag.Substring(4, 2) == "B1C3")  //修改
                                {
                                    e.Row.Cells[4].Visible = true;
                                }
                                if (flag.Substring(2, 2) + flag.Substring(4, 2) == "B1C4")  //查询
                                {
                                    e.Row.Cells[9].Visible = true;
                                }                        }
                        }
                    }
                }
            }        protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
            {        }
        }
    }
      

  7.   

     <asp:TemplateField HeaderText="编辑部门">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" CommandName="edit" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">编辑部门</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="部门主管">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton5" CommandName="edit3" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">部门主管</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="部门职位">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton3" CommandName="edit2" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">部门职位</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="部门员工">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton2" CommandName="edit1" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">部门员工</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="默认部门">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton7" CommandName="edit5" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">设定默认部门</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="查看部门员工">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton6" CommandName="edit4" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">查看部门员工</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                                <asp:TemplateField HeaderText="删除部门">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton4" CommandName="del" CommandArgument='<%#Bind("EmployeesDepartmentId") %>' runat="server">删除部门</asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </td>
                </tr>
                
          </table>
      

  8.   

    前面加了两条实例化对象
    UserRegisteredInfo depinfo = new UserRegisteredInfo();
    CompanyOaBll companyno = new CompanyOaBll();
    页面会出错
    “/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------未实现该方法或操作。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NotImplementedException: 未实现该方法或操作。源错误: 
    行 112:       public UserRegisteredInfo GetAllDepartmentInfo(CompanyOaBll companyno)
    行 113:       {
    行 114:           throw new NotImplementedException();
    行 115:       }
    行 116:    }
     源文件: F:\123\OANew.BLL\EmployeesDepartmentNewBll.cs    行: 114 堆栈跟踪: 
    [NotImplementedException: 未实现该方法或操作。]
       OANew.BLL.EmployeesDepartmentNewBll.GetAllDepartmentInfo(CompanyOaBll companyno) in F:\123\OANew.BLL\EmployeesDepartmentNewBll.cs:114
       OANew.Web.Permission.Company.DepartmentExamines.bindpermission() in F:\123\OANew.Web\Permission\Company\DepartmentExamines.aspx.cs:82
       OANew.Web.Permission.Company.DepartmentExamines.Page_Load(Object sender, EventArgs e) in F:\123\OANew.Web\Permission\Company\DepartmentExamines.aspx.cs:59
       System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
       System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
       System.Web.UI.Control.OnLoad(EventArgs e) +99
       System.Web.UI.Control.LoadRecursive() +47
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436 
      

  9.   

    异常详细信息: System.NotImplementedException: 未实现该方法或操作。 错误提示的很明显嘛!
      

  10.   

    你修改列属性,在你呈现连接的那一列改为i:HtmlEnCode设为false
      

  11.   

    行 112: public UserRegisteredInfo GetAllDepartmentInfo(CompanyOaBll companyno)
    行 113: {
    行 114: throw new NotImplementedException(); 把这句删了就不报错了行 115: }
    行 116: }
      

  12.   

    把前台整个 gridview 的代码发上来 
    放在 代码标签里[ code=HTML][/code] 这样比较易读
      

  13.   

    登录名是superuser 前台没问题 主要是实例化的部分 还要if的条件