Repeater 的操作,数据的显示,绑定,动态取控件中的值和Repeater1_ItemCommand事件的相关用法
2011-11-28 17:00
423 查看
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; // } //} } } } }}
相关文章推荐
- Repeater 的操作,数据的显示,绑定,动态取控件中的值和Repeater1_ItemCommand事件的相关用法
- 详解ASP.NET数据绑定操作中Repeater控件的用法
- .NET 使用GridView控件绑定数据源其他操作(查询相关数据,而不是显示全数据)
- 详解ASP.NET数据绑定操作中Repeater控件的用法
- Android布局设计之ExpandableList绑定XML数据构成级联、item布局页面的控件查找及配置child事件,自定义适配显示内容
- repeater控件绑定数据,控制显示的字数。
- Repeater控件绑定数据、分页、数据操作,最佳代码
- Control Study -> Asp.net几个较复杂的显示数据控件(Repeater/DataList/DataGrid)用法 (示例代码下载)
- Control Study -> Asp.net几个较复杂的显示数据控件(Repeater/DataList/DataGrid)用法 (示例代码下载)
- 动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)
- 数据绑定控件Repeater/GridView/DataList在前台显示正确的文本格式收藏
- Repeater控件绑定数据、分页、数据操作,最佳代码
- repeater控件动态数据绑定使用
- repeater用法一步一步详讲,用来绑定和显示数据信息
- DataItem,gridview,repeater数据控件数据绑定
- ItemCommand,ItemDataBound事件中获取已绑定行的字段的值和服务器端控件
- 有关xml操作的心得(2)--xml文件和数据显示控件的绑定
- Repeater控件绑定数据、分页、数据操作,最佳代码
- winform,DataGridView绑定数据后更改列属性、动态创建(用一个控件显示多表适用)
- 动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)