【问题标题】:Button Click To Send To New Page按钮点击发送到新页面
【发布时间】:2016-02-03 00:11:53
【问题描述】:

我已经尝试Response.RedirectServer.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");

标签: c# asp.net webforms


【解决方案1】:

您已经展示了已知有效的语法,无论是Response.Redirect() 还是Server.Transfer(),这些方法都经过尝试并且成功。如果您在单步执行代码时遇到了重定向的断点,那么请向我们展示您在Page_Load() 中为page2.aspx 提供的内容。

我们可以帮助进一步诊断和/或排除故障。

【讨论】:

    猜你喜欢
    • 2021-07-25
    • 2011-09-09
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多