但是ctrl+F5,可以通过啊
还有
TextBox在 DataList里面是不是就不需要
protected System.Web.UI.WebControls.TextBox tbxSiteName;
了?using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;namespace Unicom_1001
{
/// <summary>
/// Site_Info 的摘要说明。
/// </summary>
public class Site_Info : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList dlSiteInfo;
protected System.Web.UI.WebControls.Button btnFinish;
protected System.Web.UI.WebControls.TextBox tbxSiteName;

private void Page_Load(object sender, System.EventArgs e)
{
Bind_dlSiteInfo();
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.dlSiteInfo.SelectedIndexChanged += new System.EventHandler(this.dlSiteInfo_SelectedIndexChanged);
this.btnFinish.Click += new System.EventHandler(this.btnFinish_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
private void Bind_dlSiteInfo()
{
string Sql="select top 1 * from Site_Info";
Db List=new Db();
OleDbDataReader Site_Info=List.GetList(Sql);
dlSiteInfo.DataSource=Site_Info;
dlSiteInfo.DataBind();
Site_Info.Close();
//changechr();
}
private void dlSiteInfo_SelectedIndexChanged(object sender, System.EventArgs e)
{

} private void btnFinish_Click(object sender, System.EventArgs e)
{
for (int i=0;i<dlSiteInfo.Items.Count;i++)
{
Table Table1 = (Table)dlSiteInfo.Items[i].FindControl("Table1");
Label lblSiteId=(Label) Table1.FindControl("lblSiteId");
TextBox tbxSiteName=(TextBox) Table1.FindControl("tbxSiteName");
TextBox tbxSiteManage=(TextBox) Table1.FindControl("tbxSiteManage");
TextBox tbxSitePwd=(TextBox) Table1.FindControl("tbxSitePwd");
TextBox tbxSiteUrl=(TextBox) Table1.FindControl("tbxSiteUrl");

if (Page.IsValid)
{
Db AddDb=new Db();
string Sql1;
Sql1="update Site_Info set SiteName='"+tbxSiteName.Text+"',SiteManager='"+tbxSiteManage.Text+"',"+
"SiteUrl='"+tbxSitePwd.Text+"',ManagePwd='"+tbxSitePwd.Text+"' where Id="+Int32.Parse(lblSiteId.Text);
if (AddDb.ExeSql(Sql1)==1)
{
Response.Write ("添加成功");
}
else
{
Response.Write(Sql1);
}
} }
}
}
}

解决方案 »

  1.   

    你的Db是不是是寫在另一個.cs文件中的
    如果是的話 查看此.cs 文件的namespace 的名字
    然后在上面那段代碼上加上
    using 查出的名字;
      

  2.   

    namespace Unicom_1001已经加了啊
      

  3.   

    .
    .
    .
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;
    using Unicom_1001;//加了這句沒有?你的Db寫在那里的啊﹖
      

  4.   

    lblSiteId.Text的值是数字吗?如果是空?