转发器中的数据更新 [英] data updation in repeater

查看:82
本文介绍了转发器中的数据更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在带有转发器的数据更新中使用了删除,删除按钮....当我单击编辑"时,将出现文本框,并且更改了文本框的值... bt,然后单击更新"按钮,它将使用旧的文本框值. ..未采用新的文本框值..

i used data updation in repeater with edit,delete button....when i click edit the textbox will appear and i changed the textbox value...bt then i click the update button it takes the old textbox value....the new textbox value not taken..

推荐答案

//aspx页面代码

//aspx page code

<div>
       <table width="100%" border="0" cellspacing="0" cellpadding="0">
           <tr>
               <td class="hdng_cbox bdr_lft">
                   Name
               </td>
               <td align="center" class="hdng_cbox01 bdr_lft">
                   Image
               </td>
               <td class="hdng_cbox bdr_lft ">
                   Category
               </td>
               <td class="hdng_cbox bdr_lft ">
                   GroupID
               </td>
               <td class="hdng_cbox bdr_lft ">
                   Credits
               </td>
               <td class="hdng_cbox ">
               </td>
           </tr>
           <tr>
               <asp:Repeater ID="cpRepeater" runat="server" OnItemCommand="cpRepeater_ItemCommand"

                   OnItemDataBound="cpRepeater_ItemDataBound">
                   <ItemTemplate>
                       <tr>
                           <td class="bdr_top para_cbox bdr_lft">
                               <asp:Label ID="lblID" Visible="false" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "ID") %>'></asp:Label>
                               <asp:Label ID="lblName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name")%>'></asp:Label>
                               <asp:TextBox ID="txtName" BackColor="#d4d0c8" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Name")%>'

                                   Visible="false"></asp:TextBox>
                           </td>
                           <td align="center" class="bdr_lft bdr_top para_cbox ">
                               <img src="<%#Eval("thumbnail")%>" alt="" border="0" height="50" width="50" />
                           </td>
                           <td class="bdr_lft bdr_top para_cbox">
                               <asp:DropDownList ID="ddlType" runat="server">
                               </asp:DropDownList>
                           </td>
                           <td class="bdr_lft bdr_top para_cbox">
                               <asp:DropDownList ID="ddlgroup" runat="server">
                               </asp:DropDownList>
                           </td>
                           <td class="bdr_lft bdr_top para_cbox">
                               <asp:Label ID="lblcredit" runat="server" Text='<%# Eval("credit") %>'></asp:Label>
                               <asp:TextBox ID="txtcredit" BackColor="#d4d0c8" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "credit")%>'

                                   Visible="false"></asp:TextBox>
                           </td>
                           <td class="bdr_top para_cbox">
                               <asp:LinkButton ID="lnkEdit" runat="server" CommandName="edit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Edit</asp:LinkButton>
                               <asp:LinkButton Visible="false" ID="lnkUpdate" runat="server" CommandName="update"

                                   CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Update</asp:LinkButton>
                               <asp:LinkButton Visible="false" ID="lnkCancel" runat="server" CommandName="cancel"

                                   CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Cancel</asp:LinkButton>
                               <asp:LinkButton ID="lnkDelete" runat="server" CommandName="delete" OnClientClick='javascript:return confirm("Are you sure you want to delete?")'

                                   CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'>Delete</asp:LinkButton>
                           </td>
                       </tr>
                   </ItemTemplate>
               </asp:Repeater>
           </tr>
       </table>
   </div>
   <div class="clear">
   </div>
   <div class="nextpages">
       <asp:Repeater ID="rptPages" runat="server" OnItemCommand="rptPages_ItemCommand">
           <ItemTemplate>
               <asp:LinkButton ID="btnPage" CommandName="Page" CommandArgument="<%#Container.DataItem %>"

                   runat="server"><%# Container.DataItem %> </asp:LinkButton>&nbsp;
           </ItemTemplate>
           <FooterTemplate>
           </FooterTemplate>
       </asp:Repeater>
   </div>









//C#代码









//C# code

 public int PageNumber
    {
        get
        {
            if (ViewState["PageNumber"] != null)
                return Convert.ToInt32(ViewState["PageNumber"]);
            else
                return 0;
        }
        set
        {
            ViewState["PageNumber"] = value;
        }
    }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        rptPages.ItemCommand += new RepeaterCommandEventHandler(rptPages_ItemCommand);

    }

    protected void rptPages_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        PageNumber = Convert.ToInt32(e.CommandArgument) - 1;
        gridview();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            string log = Session["login"].ToString();
            if (log == "")
            {
                Response.Redirect("login.aspx");
            }
            else
            {
                  if (!IsPostBack)
                  {
                gridview();
                  }
            }

        }
        catch (Exception jj2)
        {
            Response.Redirect("login.aspx");
        }
    }
    public void gridview()
    {
      
            try
            {

                string sql = "select ID,name,thumbnail,Credit,Category,GroupID from images order by ID desc";
                DataTable dt = DataBaseX.ReadTable(sql);
                PagedDataSource pgitems = new PagedDataSource();
                DataView dv = new DataView(dt);
                pgitems.DataSource = dv;
                pgitems.AllowPaging = true;
                pgitems.PageSize = 6;
                pgitems.CurrentPageIndex = PageNumber;
                if (pgitems.PageCount > 1)
                {
                    rptPages.Visible = true;
                    ArrayList pages = new ArrayList();
                    for (int i = 0; i < pgitems.PageCount; i++)
                        pages.Add((i + 1).ToString());
                    rptPages.DataSource = pages;
                    rptPages.DataBind();
                }
                else
                    rptPages.Visible = false;
                cpRepeater.DataSource = pgitems;
                cpRepeater.DataBind();
            }
            catch (Exception hgh2)
            {
            }
        }
    
    protected void cpRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        try
        {
             DropDownList ddlType = (DropDownList)e.Item.FindControl("ddlType");
             if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
             {
                 string sql = string.Format("select CatName from categories");
                 DataTable dt = DataBaseX.ReadTable(sql);
                 ddlType.DataTextField = "CatName";
                 ddlType.DataSource = dt;
                 ddlType.DataBind();
                 ddlType.SelectedValue = DataBinder.Eval(e.Item.DataItem, "Category").ToString();
             }
             DropDownList ddlgroup = (DropDownList)e.Item.FindControl("ddlgroup");
             if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
             {
                // string sql = string.Format("SELECT distinct i.groupid,g.name from images i,imagegroup g WHERE i.groupid=g.id");
                 string sql1 = string.Format("select ID from imagegroup");
                 DataTable dt1 = DataBaseX.ReadTable(sql1);
                 ddlgroup.DataTextField = "ID";
                 ddlgroup.DataSource = dt1;
                 ddlgroup.DataBind();
                 ddlgroup.SelectedValue = DataBinder.Eval(e.Item.DataItem, "GroupID").ToString();
             }
        }
        catch (Exception nhbv3)
        {
        }
    }
    protected void cpRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        try
        {
            if (e.CommandName == "edit")
            {
                e.Item.FindControl("lblName").Visible = false;
                e.Item.FindControl("lnkEdit").Visible = false;
                e.Item.FindControl("txtName").Visible = true;
                e.Item.FindControl("lblcredit").Visible = false;
                e.Item.FindControl("txtcredit").Visible = true;
                e.Item.FindControl("lnkUpdate").Visible = true;
                e.Item.FindControl("lnkCancel").Visible = true;
            }
            if (e.CommandName == "update")
            {
                
                    int imgid = Convert.ToInt32(((Label)e.Item.FindControl("lblID")).Text);
                    string name = ((TextBox)e.Item.FindControl("txtName")).Text;
                    int credit = Convert.ToInt32(((TextBox)e.Item.FindControl("txtcredit")).Text);
                    string category =((DropDownList)e.Item.FindControl("ddlType")).SelectedValue;
                    string sql = string.Format("update images set name='" + name + "' where ID=" + imgid);
                    DataBaseX.Execute(sql);
                    e.Item.FindControl("lblName").Visible = true;
                    e.Item.FindControl("lnkEdit").Visible = true;
                    e.Item.FindControl("txtName").Visible = false;
                    e.Item.FindControl("lblcredit").Visible = true;
                    e.Item.FindControl("txtcredit").Visible = false;
                    e.Item.FindControl("lnkUpdate").Visible = false;
                    e.Item.FindControl("lnkCancel").Visible = false;
                    gridview();

            }
            if (e.CommandName == "cancel")
            {
                e.Item.FindControl("lblName").Visible = true;
                e.Item.FindControl("lnkEdit").Visible = true;
                e.Item.FindControl("txtName").Visible = false;
                e.Item.FindControl("lblcredit").Visible = true;
                e.Item.FindControl("txtcredit").Visible = false;
                e.Item.FindControl("lnkUpdate").Visible = false;
                e.Item.FindControl("lnkCancel").Visible = false;
            }
            if (e.CommandName == "delete")
            {
                int sno = Convert.ToInt32(((Label)e.Item.FindControl("lblID")).Text);
                string sql = string.Format("delete from images where ID=" + sno);
                DataBaseX.Execute(sql);
                gridview();
            }
        }
        catch (Exception hbh2)
        {
        }
    }
}


这篇关于转发器中的数据更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆