public class WebForm1 : System.Web.UI.Page
{
//声名全局变量 String strconn=ConfigurationSettings.AppSettings["conn"];
String sql="select * from class order by id desc";
SqlConnection objconn;
SqlDataAdapter adapter; protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.TextBox name;
protected System.Web.UI.WebControls.TextBox sex;
protected System.Web.UI.HtmlControls.HtmlTable Table1;
protected System.Web.UI.WebControls.DataGrid show;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
LoadGrid();
}
}
//绑定DataGrid的函数
private void LoadGrid()
{
Conn();
adapter = new SqlDataAdapter(sql,objconn);
DataSet ds = new DataSet();
//adapter.Fill(ds,Table);
adapter.Fill(ds);
disconn(); show.DataSource=ds.Tables[0];
show.DataBind();
}
//连接数据库函数
private void Conn()
{
if (objconn == null)
objconn=new SqlConnection(strconn);
//objconn.Open();
if (objconn.State == ConnectionState.Closed)
objconn.Open();
} //conn对像关闭函数
private void disconn()
{
objconn.Close();
}
#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.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)
{
if(Page.IsValid)
//if(!IsPostBack)
{
Conn();
adapter=new SqlDataAdapter(sql,objconn);
SqlCommandBuilder cb = new SqlCommandBuilder(adapter);
DataSet dsTemp = new DataSet("class");
adapter.Fill(dsTemp);
DataRow r = dsTemp.Tables[0].NewRow();
r["name"]=name.Text;
r["sex"]=sex.Text;
dsTemp.Tables[0].Rows.Add(r); adapter.Update(dsTemp);
disconn(); LoadGrid();
}
}
}
{
//声名全局变量 String strconn=ConfigurationSettings.AppSettings["conn"];
String sql="select * from class order by id desc";
SqlConnection objconn;
SqlDataAdapter adapter; protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.TextBox name;
protected System.Web.UI.WebControls.TextBox sex;
protected System.Web.UI.HtmlControls.HtmlTable Table1;
protected System.Web.UI.WebControls.DataGrid show;
protected System.Web.UI.WebControls.Button Button1;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
LoadGrid();
}
}
//绑定DataGrid的函数
private void LoadGrid()
{
Conn();
adapter = new SqlDataAdapter(sql,objconn);
DataSet ds = new DataSet();
//adapter.Fill(ds,Table);
adapter.Fill(ds);
disconn(); show.DataSource=ds.Tables[0];
show.DataBind();
}
//连接数据库函数
private void Conn()
{
if (objconn == null)
objconn=new SqlConnection(strconn);
//objconn.Open();
if (objconn.State == ConnectionState.Closed)
objconn.Open();
} //conn对像关闭函数
private void disconn()
{
objconn.Close();
}
#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.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)
{
if(Page.IsValid)
//if(!IsPostBack)
{
Conn();
adapter=new SqlDataAdapter(sql,objconn);
SqlCommandBuilder cb = new SqlCommandBuilder(adapter);
DataSet dsTemp = new DataSet("class");
adapter.Fill(dsTemp);
DataRow r = dsTemp.Tables[0].NewRow();
r["name"]=name.Text;
r["sex"]=sex.Text;
dsTemp.Tables[0].Rows.Add(r); adapter.Update(dsTemp);
disconn(); LoadGrid();
}
}
}
是 Server.Transfer 吗?
我加上这个了,重载的时候文本框里 是没数据了,以前我点填加的时候 数据填加了 文本框里还有数据。
但是 我一刷新页面 那数据还是又填加上了。
简单的方式可用如下方式解决:
Page.RegisterStartupScript(Guid.NewGuid().ToString().Trim(), "<script language='javascript'>window.location.href = window.location.href;</script>");
如上方式可解决问题,但如果你有分页,它将返回到第一页.还可以在page_load 加如下语句:
page.smartNavigation=true
但会与验证控件产生冲突还可以用如下语句:关于页面刷新的问题~~~~
我们在做.net开发时,经常能碰到这样的情况,页面很长,而我们一般用的都是服务器端控件,用服务器端控件有这样一个缺点,就是控件每次都要和服务器交互,而产生页面的刷新,试想一下,如果页面很长,而页面中的控件又很多,每次都要刷新到页面顶部,那我们在填写资料时页面每刷新一次我们都要拖动一次滚动条,这样实在是很麻烦,问题由此产生,一些人用SmartNavigation 方法,这个方法可行,但它一般会与页面中的验证控件或是JS 产生冲突,从而导致页面的失效,在这我找到一个用JS来解决问题的办法供大家参考环境为VS.NET 2000和VS.NET 2003通过<script language="javascript">
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function SetCookie (name, value)
{
document.cookie = name + "=" + escape (value)
}
</script>在body中加入
<body bgColor="#f1f5f5" leftMargin="0" topMargin="0" rightMargin="0" MS_POSITIONING="GridLayout" onload="document.body.scrollTop=GetCookie(''posy'')" onunload="SetCookie(''posy'',document.body.scrollTop)">测试已通过~~~如有问题请大家指正!
if not isposback then
'加数据操作
end if
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
{
return getCookieVal (j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0)
{
break;
}
}
return null;
}function getCookieVal (offset)
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}function SetCookie (name, value)
{
document.cookie = name + "=" + escape (value);
}
</script>
</HEAD><body bgColor="#f1f5f5" leftMargin="0" topMargin="0" rightMargin="0" MS_POSITIONING="FlowLayout" onload="document.body.scrollTop=GetCookie('posy')" onunload="SetCookie('posy',document.body.scrollTop)">