读书人

很急很急很急 两个repeater嵌套 外层的

发布时间: 2012-09-11 10:49:03 作者: rapoo

很急很急很急 两个repeater嵌套 外层的按钮的单击事件不起作用,在线等……!
啥也不说了先贴代码
cs文件代码

C# code
using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;namespace Publisher.web.Management.BookSystem{    public partial class booktype : System.Web.UI.Page    {        public readonly Bll.Book.BookType bllBookType = new Publisher.Bll.Book.BookType();        protected void Page_Load(object sender, EventArgs e)        {            if (Request.QueryString["fixid"] != null)            {                string fixid = Request.QueryString["fixid"];                Model.Book.booktype modbooktype = bllBookType.GetModel(int.Parse(Common.DESEncrypt.Decrypt(fixid)));                txtTypename.Text = modbooktype.TypeName;                dplParentType.Items.FindByValue(modbooktype.TypeID.ToString()).Selected = true;            }            // rptBookTypeRoot.ItemCommand+=new RepeaterCommandEventHandler(rptBookTypeRoot_ItemCommand);            //绑定repeater控件            if (!IsPostBack)            {                BindRepeater();            }        }        protected void BindRepeater()        {            DataSet dsRootlist = bllBookType.GetList("ParentID = 0");            rptBookTypeRoot.DataSource = dsRootlist;            rptBookTypeRoot.DataBind();            //绑定根类型类表(新增)            ListItem listItRoot = new ListItem("根类型", "0");            dplParentType.DataSource = dsRootlist;            dplParentType.DataTextField = "typename";            dplParentType.DataValueField = "typeid";            dplParentType.DataBind();            dplParentType.Items.Insert(0, listItRoot);            //绑定根类型类表(新增)            dplFixParentType.DataSource = dsRootlist;            dplFixParentType.DataTextField = "typename";            dplFixParentType.DataValueField = "typeid";            dplFixParentType.DataBind();            dplFixParentType.Items.Insert(0, listItRoot);        }        /// <summary>        /// 绑定内层数据列表        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void rptBookTypeRoot_ItemDataBound(object sender, RepeaterItemEventArgs e)        {            //判断里层repeater处于外层repeater的哪个位置( AlternatingItemTemplate,FooterTemplate,            //HeaderTemplate,,ItemTemplate,SeparatorTemplate)            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)            {                Repeater rptTemp = e.Item.FindControl("rptItemList") as Repeater;//找到里层的repeater对象                DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项                 rptTemp.DataSource = bllBookType.GetList("ParentID=" + rowv["TypeID"]);                rptTemp.DataBind();            }        }        //        //protected void rptBookTypeRoot_ItemCommand(object sender, RepeaterCommandEventArgs e)        //{        //    Response.Write("fuck");        //}        //        /// <summary>        /// 删除类型用方法        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>//这里设置的断点就是不执行!!!!郁闷的要屎掉了        protected void lbtnDelItem_Click(object sender, RepeaterCommandEventArgs e)        {            if (e.CommandName == "del")            {                Response.Write("fuck");            }            //if (e.CommandSource.ToString() == "System.Web.UI.WebControls.LinkButton")            //{            //    LinkButton lbtn = (LinkButton)e.CommandSource;            //    bllBookType.Delete(int.Parse(lbtn.CommandArgument.ToString()));            //    BindRepeater();            //}        }        /// <summary>        ///保存新增 类型        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void btnAdd_Click(object sender, EventArgs e)        {            Model.Book.booktype modBooktype = new Publisher.Model.Book.booktype();            modBooktype.TypeName = txtTypename.Text;            modBooktype.ParentID = int.Parse(dplParentType.SelectedValue);            if (modBooktype.TypeName != "")            {                if (bllBookType.Add(modBooktype) > 0)                {                    BindRepeater();                }            }            clearform();        }        /// <summary>        /// 保存修改的类型        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        protected void btnSave_Click(object sender, EventArgs e)        {        }        /// <summary>        /// 表单清理        /// </summary>        protected void clearform()        {            txtTypename.Text = "";            txtFixname.Text = "";        }    }}aspx的代码[code=HTML]<%@ Page Title="" Language="C#" MasterPageFile="~/Management/SystemMaster.Master"    AutoEventWireup="true" CodeBehind="booktype.aspx.cs" Inherits="Publisher.web.Management.BookSystem.booktype" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">    <link href="css/booktype.css" rel="stylesheet" type="text/css" />    <script src="../script/booktype.js" type="text/javascript"></script></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">    <div>        <fieldset style="border: 1px solid #116699">            <legend>添加新类型</legend>            <div>                <h2>                    添加根类型</h2>                <label>                    类型名称:<asp:TextBox runat="server" ID="txtTypename"></asp:TextBox></label>                <label>                    所属类型:                    <asp:DropDownList runat="server" ID="dplParentType">                    </asp:DropDownList>                </label>                <asp:Button runat="server" ID="btnAdd" Text="添加" OnClick="btnAdd_Click" />            </div>        </fieldset>        <fieldset style="border: 1px solid #006699">            <legend>修改类型</legend>            <div class="alltype">                <asp:Repeater runat="server" ID="rptBookTypeRoot" OnItemDataBound="rptBookTypeRoot_ItemDataBound"                    OnItemCommand="lbtnDelItem_Click">                    <ItemTemplate>                        <h2>                            <%#Eval("TypeName")%>ID=<%#Eval("TypeID")%>                                <asp:Button runat="server" ID="btn3" CommandName="del" OnClientClick="{if(confirm('确定要删除记录吗?')){return true;}return false;}"                                CssClass="linkDel" />                        </h2>                        <asp:Repeater runat="server" ID="rptItemList">                            <HeaderTemplate>                                <ul>                            </HeaderTemplate>                            <ItemTemplate>                                <li>                                    <%#Eval("TypeName") %><asp:Button runat="server" ID="LinkButton2" CommandArgument='<%#Eval("TypeID") %>'                                        OnClientClick="{if(confirm('确定要删除记录吗?')){return true;}return false;}" CssClass="linkDel" />                                </li>                            </ItemTemplate>                            <FooterTemplate>                                </ul>                            </FooterTemplate>                        </asp:Repeater>                    </ItemTemplate>                </asp:Repeater>            </div>            类型名称:<asp:TextBox ID="txtFixname" runat="server"></asp:TextBox>            所属类型:<asp:DropDownList runat="server" ID="dplFixParentType">                <asp:ListItem Value="0" Text="根类型"></asp:ListItem>            </asp:DropDownList>            <asp:Button Text="保存" runat="server" ID="btnSave" OnClick="btnSave_Click" />        </fieldset>    </div></asp:Content> 



没什么分了就先给20 吧

[解决办法]
按钮别用OnClick事件,用OnCommand事件

读书人网 >asp.net

热点推荐