Repeater 的操作,数据的显示,绑定,动态取控件中的值和Repeater1_ItemCommand事件的相关用法

 
HTML Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Repeater ID="Repeater1" runat="server" 
            onitemcommand="Repeater1_ItemCommand">
        <HeaderTemplate><table border=1  width=500></HeaderTemplate>
        <ItemTemplate>
         <tr><td>昵称:<br></br><%# Eval("name") %></td><td>这是[<%# Eval("name") %>]帅哥于[<%# Eval("date") %>]给你的留言</td></tr>
          <tr><td rowspan="6"><img alt="Pic" src='<%# Eval("pic") %>' /></td><td></td></tr>
         <tr><td><%# Eval("title") %><br /><%# Eval("msg") %><br/><hr color="red"/></td><td></td></tr>
         <tr><td rowspan="3"><%# Convert.ToBoolean(Eval("status"))?"管理员回复你的:<br/>"+Eval("answermsg"): "正在等待管理员答复……"%></td><td></td></tr>
         <tr><td></td><td></td></tr>
         <tr><td></td><td></td></tr>
         <tr><td></td><td></td></tr>
         <tr><td></td><td><asp:TextBox runat="server" ID="TextBox1" TextMode=MultiLine Height=50 ></asp:TextBox></td></tr>
         <tr><td></td><td><asp:LinkButton ID="link" CommandName="1" CommandArgument=<%# Eval("id") %> Text="发关电邮" runat="server"></asp:LinkButton>   <asp:LinkButton ID="LinkButton1"   CommandArgument=<%# Eval("id") %> Text="删除留言"  CommandName="2"  runat="server"></asp:LinkButton>   <asp:LinkButton ID="LinkButton2"   CommandArgument=<%# Eval("id") %> CommandName="3"  Text="回复" runat="server"></asp:LinkButton></td></tr>
   
            </ItemTemplate>


        <FooterTemplate></table></FooterTemplate>

        </asp:Repeater>
    
    </div>
    <asp:HiddenField ID="HiddenField1" runat="server" />
    </form>
</body>
</html>

 

 

C# Code


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Net.Mail;
using System.Net;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {


        if (!IsPostBack)
        {
             string str = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString; 
        using (SqlConnection con=new SqlConnection(str))
        {
            using (SqlCommand cmd=new SqlCommand("select * from oper",con))
            {
                DataSet ds = new DataSet();
                using (SqlDataAdapter sda=new SqlDataAdapter(cmd))
                {
                    sda.Fill(ds);
                }
                Repeater1.DataSource = ds;
                Repeater1.DataBind();
            }
        }  
        }
     

     

    }
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
       
       //  Response.Write(Repeater1.Items[]);
   //     Response.Write( e.Item.ItemIndex.ToString());
       
        string str = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
        if (e.CommandName == "1")
        {



            TextBox tb = (TextBox)Repeater1.Items[e.Item.ItemIndex].FindControl("TextBox1");
            string msg = "";
            if (tb != null)
            {
                msg = tb.Text;
            }
            if (msg.Length == 0)
            {
                using (SqlConnection con = new SqlConnection(str))
                {
                    using (SqlCommand cmd = new SqlCommand("select answermsg from oper", con))
                    {
                        DataSet ds = new DataSet();
                        using (SqlDataAdapter sdsa = new SqlDataAdapter(cmd))
                        {
                            sdsa.Fill(ds);
                        }
                        msg = ds.Tables[0].Rows[0][0].ToString();
                    }
                }



            }

            System.Net.Mail.SmtpClient client = new SmtpClient("smtp.qq.com");
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential("979170768@qq.com", "BAINING1111");
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            System.Net.Mail.MailMessage message = new MailMessage("979170768@qq.com", "979170768@qq.com", "管理员发回复了你的问题", msg);
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = true;
            client.Send(message);





        }
        else if (e.CommandName == "2")
        {
            using (SqlConnection con = new SqlConnection(str))
            {
                using (SqlCommand cmd = new SqlCommand("delete from oper where id=@id", con))
                {
                    cmd.Parameters.Add("@id", e.CommandArgument.ToString());
                    con.Open();
                    cmd.ExecuteNonQuery();
                    Server.Transfer("Default.aspx");
                }

            }

        }
        else if (e.CommandName == "3")
        {
            using (SqlConnection con = new SqlConnection(str))
            {
                using (SqlCommand cmd = new SqlCommand("update oper set answermsg=@msg,answerdate=@date,status=1 where id=@id", con))
                {

                    TextBox tb = (TextBox)Repeater1.Items[e.Item.ItemIndex].FindControl("TextBox1");
                    string msg = "";
                    if (tb != null)
                    {
                        //Response.Write(tb.Text);
                        msg = tb.Text;
                    }

                    cmd.Parameters.Add("@id", e.CommandArgument.ToString());
                    cmd.Parameters.Add("@msg", msg);
                    cmd.Parameters.Add("@date", System.DateTime.Now.ToString());
                    con.Open();


                    //TextBox delete = (Button)r.Items[0].FindControl("btnDelete");

                    cmd.ExecuteNonQuery();
                    Server.Transfer("Default.aspx");




                    //foreach (RepeaterItem item in Repeater1.Controls)
                    //{
                    //    if (item.ItemType == .Item)
                    //    {
                    //        item.FindControl("TextBox1").Visible = true;
                    //        break;
                    //    }
                    //} 

                }

            }


        }
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值