我把我的代码贴出来,大家帮我改下好吗?好像在显示数据时代码有误:
listbox页面的代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{ ///绑定新闻种类的数据
BindNewsData(nNewsID);
}
// 在此处放置用户代码以初始化页面
}
private void BindNewsData(int nNewsID)
{
///清空News列表中的原始数据
NewsList.Items.Clear();
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];
con.Open();
string Provincesql = "SELECT * FROM News";
SqlDataAdapter adapter = new SqlDataAdapter(Provincesql, con);
DataSet ds = new DataSet();
adapter.Fill(ds, "Title");
//NewsList.DataSource=ds;
//NewsList.DataBind();
//显示数据中新闻的标题
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
NewsList.Items.Add(ds.Tables[0].Rows[i]["Title"].ToString());
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.editbtn.Click += new System.EventHandler(this.editbtn_Click);
this.delbtn.Click += new System.EventHandler(this.delbtn_Click);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
Response.Redirect("addnews.aspx");
}
private string FormatTitle(string sTitle)
{
if(sTitle.Length > 50)
{
return(sTitle.Substring(50) + "...");
}
else
{
return(sTitle);
}
}
private void editbtn_Click(object sender, System.EventArgs e)
{
if(NewsList.SelectedIndex > -1)
{ ///跳转到新闻修改页面,同时携带参数新闻ID
Response.Redirect("~/EditNews.aspx?&NewsID=" + NewsList.SelectedValue);
}
else
{
Response.Write("<script>alert(\"请选择你的数据项!\")</script>");
}
}
private void delbtn_Click(object sender, System.EventArgs e)
{
}
编辑页面的代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(Request.Params["NewsID"] != null)
{
nNewsID = Int32.Parse(Request.Params["NewsID"].ToString());
//nNewsID=Request.Params["NewsID"].ToString();
}
if(!Page.IsPostBack)
{
if(nNewsID > 0)
{
BindNewsData(nNewsID);
}
}
// 在此处放置用户代码以初始化页面
}
private void BindNewsData(int nNewsID)
{
if(nNewsID > 0) ///首先判断新闻ID是否大于0,否则不从数据库取数据
{ ///从数据库取到新闻ID为nNewsID的新闻的信息
//连接数据库
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];
String cmdText = "SELECT * FROM News WHERE NewsID = '" + nNewsID.ToString() + "'";
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
myConnection.Open();
SqlDataReader recn = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
///给新闻标题框和新闻内容框初始化数据
while(recn.Read())
{
NewsTitle.Text = recn["Title"].ToString();
NewsBody.Text = recn["Body"].ToString();
}
recn.Close();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.editbtn.Click += new System.EventHandler(this.editbtn_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void editbtn_Click(object sender, System.EventArgs e)
{
if(NewsTitle.Text.Trim().Length > 0 && NewsBody.Text.Trim().Length > 0)
{ ///构建数据库连接和修改新闻的SQL语句
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];
String cmdText = "UPDATE NEWS SET Title = '" + NewsTitle.Text + "',Body = '" + NewsBody.Text
+ "' WHERE NewsID = '" + nNewsID.ToString() + "'";
SqlCommand myCommand = new SqlCommand(cmdText,myConnection);
///打开数据库连接并执行修改操作
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
///返回新闻管理页面
Response.Redirect("NewsManage.aspx");
}
else
{
Response.Write("<script>alert(\"新闻的标题不能为空!\")</script>");
}
}
谢谢了
[此贴子已经被作者于2007-3-28 13:43:07编辑过]