我已尝试Response.Redirect
和Server.Transfer
将我带到按钮点击的新页面,但每次我的页面都刷新并且我从未重定向到新页面。我已经验证了我的项目中存在的页面,甚至将页面的名称复制/粘贴到我的语法中,以确保没有奇怪的空格或任何东西,但我永远不会被重定向
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
filldropdowns();
}
}
protected void btn1_OnClick(object sender, EventArgs e)
{
Response.Redirect("page2.aspx");
Server.Transfer("page2.aspx");
}
<div id="btn11" algn="center">
<asp:Button ID="ClickBtn1" runat="server" Text="Push Me" OnClick="btn1_OnClick" OnClientClick="return ValidateData();" />
</div>
<script type="text/javascript">
function ValidateData() {
var name;
name = document.getElementById("txtName").value;
if (name == '' || name.trim() == '') {
alert("Please enter a valid name");
return false;
}
}
</script>
修改
使用~/
将允许重定向,但它会引发以下错误。页面确实存在!
无法找到资源。
描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
请求的网址:/page2.aspx
编辑2
如果重要的话,这是我的page2的标记
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="page2.aspx.cs" Inherits="page2" %>
如果我在我的重定向中使用localhost
它没有加载任何问题,但我已准备好将其推送到网络的交织中,并且不再使用localhost
。我该怎么改成这个?
http://localhost:1444/TestProject/page2.aspx
编辑3
如果它有助于(或重要)我要重定向到.aspx页面的完整位置是这样的:
C:\Users\Habib\Documents\Visual Studio 2015\Projects\Test\TestProject\Page2.aspx
答案 0 :(得分:0)
您已经显示了已知的语法,无论是Response.Redirect()
还是Server.Transfer()
这些方法都是通过尝试获得成功的方法。如果您在单步执行代码时遇到了重定向的断点,请告诉我们Page_Load()
page2.aspx
中的内容。
我们可以帮助进一步诊断和/或排除故障。