在Default.aspx中,做一个对gridview操作 先点击页面查询 让数据呈现在gridview控件上 然后点击添加 添加后进入一个ajax新页面TiaoZhuanPage.aspx 将数据添好后 返回到Default.aspx页面
代码如下(一个小例子):
Default.aspx前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>
<script type="text/javascript">
function openage() {
window.open("TiaoZhuanPage.aspx", "添加信息", "height = 300, width = 500, top = 300, left = 450, toolbar = no, menubar = no, resizable = no, location = no, status = no");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div align="center">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Button ID="Button1" runat="server" Text="查询" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="添加" /><asp:UpdatePanel
ID="UpdatePanel1" runat="server">
</asp:UpdatePanel>
<br />
<asp:GridView ID="GridView1" runat="server" Width="800px">
</asp:GridView>
</div>
</form>
</body>
</html>
default.aspx后台:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string connStr="server=YMBJIX6X15VN5RH;user=sa;password=123;database=Text";
SqlConnection conn = new SqlConnection(connStr);
string sql = "select * from Users";
try
{
conn.Open();
SqlDataAdapter dap = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
dap.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}
catch
{
conn.Close();
}
finally
{
conn.Close();
}
}
protected void Button2_Click(object sender, EventArgs e)
{
string connStr = "server=YMBJIX6X15VN5RH;user=sa;password=123;database=Text";
SqlConnection conn = new SqlConnection(connStr);
string sql = "insert into Users values('1','1')";
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql,conn);
int i= cmd.ExecuteNonQuery();
if (i > 0)
{
Response.Write("<script>alert('添加成功!')</script>");
SqlDataAdapter dap = new SqlDataAdapter("select * from Users", conn);
DataSet ds = new DataSet();
dap.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
//Response.Redirect("TiaoZhuanPage.aspx");
ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1, UpdatePanel1.GetType(), "", "openage();", true);
}
}
catch
{
conn.Close();
}
finally
{
conn.Close();
}
}
TiaoZhuanPage.aspx前台:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function btn()
{
//javascript:history.go(-2);window.open("http://www.baidu.com")
history.back;
//history.go(-1)
window.location.replace("Default.aspx");
//window.open('http://www.baidu.com')
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /><br />
<input id="Button2" type="button" value="button" onclick="btn()" /><br />
</div>
</form>
</body>
</html>
TiaoZhuanPage.aspx后台:
public partial class TiaoZhuanPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button1_Click(sender,e);
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("ButtonClick");
}
}
没有ajax那种新页面我已经实现了不过加上ajax(UpdatePanel)就不会了希望大侠们帮忙。
看贴主你描述的意思,我现在再重复一下,你的意思就是说:
点击“展示”,gridview展示数据,点击添加,在页面不刷新的情况下弹出一个“添加”的页面,添加完成后,展示的页面数据会增加上新添加的那条数据。(相当于重新绑定了一次)。是这个意思不……???
是的,现在我能回到default.aspx页面了由于多次跳转我把地址变成了?传参形式 我现在想把他改成原地址并执行查询按钮单击事件
@HelloWorld_sir:
我怎么不明白呢??既然是无刷新的!为什么地址栏地址会变呢?
@HelloWorld_sir:
听你的描述像是全部都是刷新式的…………
感觉你好多基础概念都没有弄清楚……,你只有把问题描述清楚了……
我们才能帮你解决啊……
@HelloWorld_sir:
还有以后麻烦贴代码的时候点击这里: ,这里有个专门插入代码的东东……
是啊就是很晕如果不用ajax的话很简单的利用用iframe 页面跳转页很简单 在改一个很烂的程序郁闷 ....
@田麦成:
加我qq吧2390997723我把我做的dome发给你
看了LZ的代码,有个问题,添加数据的功能已经在 Default.aspx 实现了,TiaoZhuanPage.aspx 这个页面有什么作用?
我现在改了在TiaoZhuanPage.aspx页面实现添加 然后弹出对话框 添加成功点击确定后TiaoZhuanPage.aspx关闭,跳转的default.aspx页面default.aspx页面对gridview重新绑定一次就好了
这帖子还不结贴啊!!