为了简单起见,我在 ASP.NET 表单中有一个下拉列表和一个按钮。下拉列表有一个调用 DropDownList1_SelectedIndexChanged 的自动回发函数,并且页面被重定向到某个地方(例如 www.google.com),并且按钮具有转到 Button1_Click1 的 onclick 并且页面被重定向到 www.yahoo.com。
问题:如果我点击按钮,我会转到 Yahoo,这正是您所期望的。如果我在浏览器中单击后退按钮并选择下拉列表,我会转到 Google,这也是正确的,但是如果我单击后退按钮然后单击该按钮,我会被重定向到 Google。呃?为什么不去雅虎?
这是我的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!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>Testing Auto-Postback</title>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server" onselectedindexchanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true" ValidationGroup="form1">
<asp:ListItem>Please select</asp:ListItem>
<asp:ListItem>Go to Google</asp:ListItem>
</asp:DropDownList>
<hr />
<asp:Button ID="Button1" runat="server" Text="Go to Yahoo"
ValidationGroup="form2" onclick="Button1_Click1" />
</form>
</body>
</html>
代码背后:
using System;
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Redirect("http://www.google.com");
}
protected void Button1_Click1(object sender, EventArgs e)
{
Response.Redirect("http://www.yahoo.com");
}
}
如果有人可以帮助我,将不胜感激。