簡體   English   中英

Response.redirect不起作用

[英]Response.redirect not working

我正在使用Visual Studio 2010 asp.net網站。 我做了一個aspx。 頁面,稱為忘記密碼.aspx,並添加了帶有代碼的按鈕

 protected void Button1_Click(object sender, EventArgs e)
  {
    Response.Redirect("company.aspx");
  }

我什至嘗試:

 protected void Button1_Click(object sender, EventArgs e)
  {
    Response.Redirect("company.aspx", true);
  }

但是,頁面保持不變,該按鈕無法重定向到company.aspx。 我懷疑母版頁可能有問題,但是我不確定。 請指教!

這是我的主頁:

   <%@ Master Language="C#" AutoEventWireup="true"        CodeFile="Master.master.cs" Inherits="Master" %>

    <!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>  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="">
  <meta name="author" content="">
   <title>Home | Triangle</title>
  <link href="css/bootstrap.min.css" rel="stylesheet">
  <link href="css/font-awesome.min.css" rel="stylesheet">
  <link href="css/animate.min.css" rel="stylesheet"> 
  <link href="css/lightbox.css" rel="stylesheet"> 
  <link href="css/main.css" rel="stylesheet">
  <link href="css/responsive.css" rel="stylesheet">

  <!--[if lt IE 9]>
    <script src="js/html5shiv.js"></script>
    <script src="js/respond.min.js"></script>
  <![endif]-->       
  <link rel="shortcut icon" href="images/ico/favicon.ico">
  <link rel="apple-touch-icon-precomposed" sizes="144x144" href="images/ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="images/ico/apple-touch-icon-114-precomposed.png">
  <link rel="apple-touch-icon-precomposed" sizes="72x72" href="images/ico/apple-touch-icon-72-precomposed.png">
  <link rel="apple-touch-icon-precomposed" href="images/ico/apple-touch-icon-57-precomposed.png"></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
 </head>
 <body></body>
  </html>

這是我的forgetpassword.aspx頁面的源代碼視圖(html):

   <%@ Page Title="" Language="C#" MasterPageFile="~/Master.master" AutoEventWireup="true" CodeFile="forgetpassword.aspx.cs" Inherits="_Default" %>

  <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
  </asp:Content>
  <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1"   Runat="Server">
  <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
  </asp:Content>

您可能需要指定路徑,如MasterPageFile="~/Master.master"

Response.Redirect("~/company.aspx");

編輯

您需要在所有文件中使用相同的ContentPlaceHolder ID,默認情況下為MainContent

<asp:ContentPlaceHolder id="MainContent" runat="server">
</asp:ContentPlaceHolder>

還要確保將Button放置在form

<form action="/" method="post" runat="server">
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</form>

現在重定向應該起作用了。

重定向應該以url作為參數,但是您只傳遞字符串“ company.aspx”。 請嘗試這個

Response.Redirect(~/(path)/company.aspx); 

用項目中的正確文件路徑替換路徑

如果只是重定向使用

PostBackUrl="company.aspx"

喜歡

<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="company.aspx"/>

這將避免需要從服務器端調用事件。

嘗試這個

       protected void Button1_Click(object sender, EventArgs e)
      {
         if (Response.IsClientConnected)
         {
            // If still connected, redirect
            // to another page. 
            Response.Redirect("company.aspx", false);
         }
      }

https://msdn.microsoft.com/zh-CN/library/a8wa7sdt(v=vs.110).aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM