当我想要添加一段数据成功的时候,弹出添加数据成功,我就 Response.Write("<script>window.alert('新增数据成功!') </script>"); 然后我想只在GRidView里面显示新增的数据,我就把控件里面的值回传作为查询依据,结果,不弹出“新增数据成功了”
看代码
SqlDataAdapter customersTableAdapter =
new SqlDataAdapter(SqlDataSource1.SelectCommand, SqlDataSource1.ConnectionString);
DataTable hiberarchyTable = new DataTable();
customersTableAdapter.Fill(hiberarchyTable);
SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(customersTableAdapter);
DataRow newRow = hiberarchyTable.NewRow();
newRow["guotuzhenghao"] = guotuzhenghao.Value;
newRow["zuoluo"] = zuoluo.Value;
newRow["shiyongzhe"] = shiyongzhe.Value;
newRow["dihao"] = dihao.Value;
newRow["tuhao"] = tuhao.Value;
newRow["yongtu"] = yongtu.Value;
newRow["dengji"] = dengji.Value;
newRow["churangStart"] = churangStart.Value;
newRow["charangend"] = charangend.Value;
newRow["churangnianxian"] = churangnianxian.Value;
newRow["beizhu"] = beizhu.Value;
newRow["fazhengjiguan"] = fazhengjiguan.Value;
newRow["fazhengriqi"] = fazhengriqi.Value;
newRow["gongtanmianji"] = gongtanmianji.Value;
newRow["shiyongquanmianji"] = shiyongquanmianji.Value; // newRow["s2"] = "s2";
hiberarchyTable.Rows.Add(newRow);
customersTableAdapter.Update(hiberarchyTable);
}
catch (Exception we)
{
Response.Write("<script>window.alert('新增数据出错!') </script>");
return;
} Response.Write("<script>window.alert('新增数据成功!') </script>");
Response.Redirect("manage_add_guotushiyong.aspx?guotuzhenghao=" + guotuzhenghao.Value + "&shiyongzhe=" + shiyongzhe.Value + "&zuoluo=" + zuoluo.Value + "");
看代码
SqlDataAdapter customersTableAdapter =
new SqlDataAdapter(SqlDataSource1.SelectCommand, SqlDataSource1.ConnectionString);
DataTable hiberarchyTable = new DataTable();
customersTableAdapter.Fill(hiberarchyTable);
SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(customersTableAdapter);
DataRow newRow = hiberarchyTable.NewRow();
newRow["guotuzhenghao"] = guotuzhenghao.Value;
newRow["zuoluo"] = zuoluo.Value;
newRow["shiyongzhe"] = shiyongzhe.Value;
newRow["dihao"] = dihao.Value;
newRow["tuhao"] = tuhao.Value;
newRow["yongtu"] = yongtu.Value;
newRow["dengji"] = dengji.Value;
newRow["churangStart"] = churangStart.Value;
newRow["charangend"] = charangend.Value;
newRow["churangnianxian"] = churangnianxian.Value;
newRow["beizhu"] = beizhu.Value;
newRow["fazhengjiguan"] = fazhengjiguan.Value;
newRow["fazhengriqi"] = fazhengriqi.Value;
newRow["gongtanmianji"] = gongtanmianji.Value;
newRow["shiyongquanmianji"] = shiyongquanmianji.Value; // newRow["s2"] = "s2";
hiberarchyTable.Rows.Add(newRow);
customersTableAdapter.Update(hiberarchyTable);
}
catch (Exception we)
{
Response.Write("<script>window.alert('新增数据出错!') </script>");
return;
} Response.Write("<script>window.alert('新增数据成功!') </script>");
Response.Redirect("manage_add_guotushiyong.aspx?guotuzhenghao=" + guotuzhenghao.Value + "&shiyongzhe=" + shiyongzhe.Value + "&zuoluo=" + zuoluo.Value + "");
string loation = "manage_add_guotushiyong.aspx?guotuzhenghao=" + guotuzhenghao.Value + "&shiyongzhe=" + shiyongzhe.Value + "&zuoluo=" + zuoluo.Value + "";Response.Write("<script>window.alert('新增数据成功!');window.location='"+loation+"';</script>");
这样就行了.
Response.Redirect(" Response.Redirect 调用之前不能有输出如Response.Write(
要到浏览器里才能解析Response.Redirect
你在服务器端就让其导向了发到浏览器里的当然是manage_add_guotushiyong.aspx这个页面
Response.Write(" <script>window.alert('新增数据成功!');window.location='"+loation+"'; </script>");
Response.Write(" <script>window.alert('新增数据成功!');window.location='"+loation+"'; </script>");
1 Response.Redirect这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!Redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。 2 Server.Transfer速度快,只需要一次postback ,但是。他必须是在同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。你可以写个小程序试试:设计一个由页面一到页面二的跳转,但要进入到页面二需要登录,form认证,但如果跳转语句使用transfer的话,那就不会弹出登录页面了。这个方法的重定向请求是发生在服务器端,所以浏览器的url地址仍然保留的是原页面的地址! 3 Sever.Execute这种页面导航方式类似于针对ASPX页面的一次函数调用,被调用的页面能够访问发出调用页面的表单数据和查询字符串集合,所以要把被调用页面Page指令的EnableViewStateMac属性设置成False。默认情况下,被调用页面的输出追加到当前应答流。但是,Server.Execute方法有一个重载的方法,允许通过一个TextWriter对象(或者它的子对象,例如StringWriter对象)获取被调用页面的输出,而不是直接追加到输出流,这样,在原始页面中可以方便地调整被调用页面输出结果的位置。
Server.Transfer("manage_add_guotushiyong.aspx?guotuzhenghao=" + guotuzhenghao.Value + "&shiyongzhe=" + shiyongzhe.Value + "&zuoluo=" + zuoluo.Value + "");这样是可以弹筐后在跳转的 Redirect 是重定向 注意看 跳转的时候 地址栏的路径都改变了 是重新请求的 所以不会弹筐 看看他们的区分和比较 就明白了