【发布时间】:2016-02-03 00:11:53
【问题描述】:
我已经尝试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。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL:/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
【问题讨论】:
-
你用字母“l”而不是数字“1”写了 btnl_OnClick
-
你可以试试这个解决方案stackoverflow.com/a/23976700/4660897。还要确保您的 aspx 页面已连接到您的代码隐藏页面。
-
第1页和第2页在TestProject文件夹中吗?
-
@Partha - 是的,两个页面都是
-
试试
Response.Redirect("~/TestProject/page2.aspx");