如何重定向到其他页面
本文关键字:其他 重定向 | 更新日期: 2023-09-27 18:25:35
我有这8个文本框,要求用户填写其中的数据,在他们确认后,他们会点击提交数据并将其保存在数据库中。这个过程运行得很好,但我只是不知道如何将用户重定向到下一页,告诉他们"记录已成功添加"。在这里我粘贴代码片段。希望你们能帮助我。谢谢。
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings ["Connection"].ConnectionString);
SqlCommand cmd = new SqlCommand("Insert into......");
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@name", Membership.GetUser().UserName);
cmd.Parameters.AddWithValue("@bulan", Label1.Text);
cmd.Parameters.AddWithValue("@ex1s", Label18.Text);
cmd.Parameters.AddWithValue("@p1s", Label20.Text);
cmd.Parameters.AddWithValue("@ex2s", Label2.Text);
cmd.Parameters.AddWithValue("@p2s", Label21.Text);
cmd.Parameters.AddWithValue("@ex3s", Label3.Text);
cmd.Parameters.AddWithValue("@p3s", Label22.Text);
cmd.Parameters.AddWithValue("@ex4s", Label4.Text);
cmd.Parameters.AddWithValue("@p4s", Label23.Text);
cmd.Parameters.AddWithValue("@ex5s", Label5.Text);
cmd.Parameters.AddWithValue("@p5s", Label24.Text);
cmd.Parameters.AddWithValue("@ex6s", Label6.Text);
cmd.Parameters.AddWithValue("@p6s", Label25.Text);
cmd.Parameters.AddWithValue("@ex7s", Label7.Text);
cmd.Parameters.AddWithValue("@p7s", Label26.Text);
cmd.Parameters.AddWithValue("@ex8s", Label8.Text);
cmd.Parameters.AddWithValue("@p8s", Label27.Text);
cmd.Parameters.AddWithValue("@totals", Label28.Text);
conn.Open();
cmd.ExecuteNonQuery();
Response.Redirect("nextPage.aspx");
也许您可以使用if…else。。。例如:
int rowsAffected = cmd.ExecuteNonQuery();
if (rowsAffected == 1)
{
//Success notification
}
else
{
//Error notification
}
}
您有几个选项。按偏好排序:
- 修改添加记录的页面的输出,以显示成功消息
- 服务器端重定向,使用
Server.Transfer()
- 使用
Response.Redirect()
发出HTTP重定向
我将用完成它
[...]
conn.Close();
Response.Redirect("~/NewPage.aspx?msg=complete");
将完成您的代码(关闭连接很重要)Response.RRedirect会将用户发送到方法param中的页面。
在NewPage.aspx上,我将捕获url参数:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if(Request.QueryString["msg"] != null)
{
litMsg.Text = "<div id='msgTxt' style='display:none;background-color:red;'>" + Request.QueryString["msg"] + "</div>";
}
}
}
其中,litMsg是页面上的文字控件。为了增加趣味性,我在NewPage.aspx 上使用了一些JQuery
<asp:Literal ID="litMsg" Text="" runat="server" />
<script type="text/javascript">
try {
$("#msgTxt").fadeIn("slow");
} catch (e) {
//it's probably not there
}
</script>
更有意义?:)
方法1
你可以有一个隐藏的面板,然后按钮可以显示面板,并设置面板的文本。
这肯定会奏效。
方法2
另一种方法是HTML方式。您可以触发以下操作:
Response.Redirect("MyPage.aspx?message=Records are successfully added");
然后在你的ASPX文件中处理它:
<p>
<%= Request["message"] %>
</p>