1、首先定义一个NewsInfoss类,此类中封装了我的数据库表中的所有字段
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using PetaPoco;
/// <summary>
///NewsInfoss 的摘要说明
/// </summary>
public class NewsInfoss
{
public NewsInfoss()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public int NewsID { get; set; }
public string NewsTitle { get; set; }
public string NewsContent { get; set; }
public DateTime NewsDate { get; set; }
}
2、自己封装一个sqlhelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
///Newssql 的摘要说明
/// </summary>
public class Newssql
{
public Newssql()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
PetaPoco.Database db = new PetaPoco.Database("ConnStr");
/// <summary>
/// 查询表中的所有数据
/// </summary>
/// <returns></returns>
public List<NewsInfoss> aaa()
{
string sql = "select * from NewsInfo";
var db = new PetaPoco.Database("ConnStr");
return db.Fetch<NewsInfoss>(sql);
}
/// <summary>
/// 根据新闻ID获取相应的一条新闻
/// </summary>
/// <param name="NewsID"></param>
/// <returns></returns>
public List<NewsInfoss> aaa(string NewsID)
{
string sql = "select NewsTitle,NewsContent,CONVERT(char(10), NewsDate,120) as NewsDate from NewsInfo where NewsID=" + NewsID;
var db = new PetaPoco.Database("ConnStr");
return db.Fetch<NewsInfoss>(sql);
}
/// <summary>
/// 根据ID获取相应的数据
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public NewsInfoss getNewsByID(int ID)
{
return db.SingleOrDefault<NewsInfoss>("select NewsTitle,NewsContent,CONVERT(char(10), NewsDate,120) as NewsDate from NewsInfo where NewsID = @0 ", ID);
}
/// <summary>
/// 根据新闻ID查询出我需要更新的一条数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public NewsInfoss Update(string id)
{
return db.SingleOrDefault<NewsInfoss>("select * from NewsInfo where NewsID=@0", id);
}
}
3、添加一个展示新闻的页面Edit.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Edit.aspx.cs" Inherits="Edit" %>
<!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:GridView ID="MyGrid" runat="server" AutoGenerateColumns="False"
DataKeyNames="NewsID" onrowdeleting="MyGrid_RowDeleting" >
<Columns>
<asp:BoundField DataField="NewsID" HeaderText="新闻编号" />
<asp:BoundField DataField="NewsTitle" HeaderText="新闻标题" />
<asp:BoundField DataField="NewsContent" HeaderText="新闻内容" />
<asp:BoundField DataField="NewsDate" HeaderText="发布时间" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="linkID" runat="server"
CommandArgument='<%#Eval("NewsID") %>'
onclick="linkID_Click" ToolTip='<%# Eval("NewsID") %>'
>修改</asp:LinkButton>
<asp:LinkButton ID="lkDele" runat="server" CausesValidation="False" CommandName="Delete"
Text="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
CS代码如下:
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;
public partial class Edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataBindMyGrid();
}
}
protected void linkID_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
string id= btn.ToolTip.ToString();
Response.Redirect("AddNews.aspx?NewsID="+id);
}
public void DataBindMyGrid()
{
MyGrid.DataSource = NewsHelp.DataBindGrid();
MyGrid.DataBind();
}
protected void MyGrid_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string id = MyGrid.DataKeys[e.RowIndex].Values[0].ToString();
int i = NewsHelp.DeleteGrid(id);
if (i>0)
{
Response.Write("<script>alert('删除成功!!!!')</script>");
}
DataBindMyGrid();
}
}
4、创建一个添加和编辑新闻的页面Ceshi.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ceshi.aspx.cs" Inherits="ceshi" %>
<!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>
<style type="text/css">
.style1
{
300px;
border-collapse: collapse;
border-style: solid;
border- 1px;
}
</style>
<script src="Scripts/Calendar4.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="1" class="style1">
<tr>
<td>
新闻标题:</td>
<td>
<asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
新闻内容:</td>
<td>
<asp:TextBox ID="txtContent" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
发布时间:</td>
<td>
<asp:TextBox ID="txtDate" runat="server" onclick="MyCalendar.SetDate(this)"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" style="text-align: center">
<asp:Button ID="Button1" runat="server" Text="保存" onclick="Button1_Click" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
CS代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using PetaPoco;
public partial class ceshi : System.Web.UI.Page
{
string NewsID = "";
Newssql sql = new Newssql();
PetaPoco.Database db = new PetaPoco.Database("ConnStr");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request["NewsID"] != null && Request["NewsID"].ToString().Trim() != "")
{
NewsID = Request["NewsID"].ToString();
dataNewsInfo(Convert.ToInt32(NewsID));
}
}
}
/// <summary>
/// 点击添加或者是更新的按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
if ( Request["NewsID"] != null && Request["NewsID"].ToString().Trim()!= "")
{
Update();
Response.Redirect("NewsInfoEdit.aspx");
}
else
{
AddNewsInfo();
}
}
/// <summary>
/// 添加新闻方法
/// </summary>
private void AddNewsInfo()
{
var a = new NewsInfoss();
a.NewsTitle = txtTitle.Text.Trim();
a.NewsContent = txtContent.Text.Trim();
a.NewsDate = Convert.ToDateTime(txtDate.Text.Trim());
db.Insert("NewsInfo", "NewsID", true, a);
Response.Redirect("NewsInfoEdit.aspx");
}
/// <summary>
/// 更新新闻的方法
/// </summary>
void Update()
{
string sqlid=Request["NewsID"].ToString();
NewsInfoss up = sql.Update(sqlid);
up.NewsTitle = txtTitle.Text.Trim();
up.NewsContent = txtContent.Text.Trim();
up.NewsDate =Convert.ToDateTime(txtDate.Text.Trim());
db.Update("NewsInfo", "NewsID", up, sqlid);
}
/// <summary>
/// 根据新闻ID,获取到相应的新闻
/// </summary>
/// <param name="id"></param>
void dataNewsInfo(int id)
{
NewsInfoss a = new NewsInfoss();
a = sql.getNewsByID(id);
txtTitle.Text = a.NewsTitle;
txtContent.Text = a.NewsContent;
txtDate.Text = a.NewsDate.ToString("yyyy-MM-dd").ToString() ;
}
}