2016-11-25 79 views
0

我正在使用visual studio 2010 asp.net網站。 我做了一個aspx。所謂頁面forgetpassword.aspx並增加了一個按鈕,代碼Response.redirect不工作

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> 
+0

爲button1.Click事件 –

+1

是什麼讓你覺得有什麼不妥主頁面,您可以共享代碼?你能向我們展示完整的點擊事件代碼嗎? – Imad

+0

我編輯了它!請看一下! – Sarahdonner

回答

1

您可能需要指定路徑,結合的方式如MasterPageFile="~/Master.master"所示。

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

編輯

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

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

,並且確保將您Buttonform

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

現在重定向應該工作。

+0

它不起作用.. – Sarahdonner

+0

如果你的company.aspx是在一個文件夾內..你需要指定,如「〜/ views/company.aspx」。 「〜/」是你的應用程序的根。 – abdul

+0

它們都在同一個文件夾中 – Sarahdonner

0

重定向應該將url作爲參數,但是您只傳遞一個字符串「company.aspx」。如果它僅僅是一個重定向使用

PostBackUrl="company.aspx" 

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

這將避免需要的請嘗試在您的項目

+0

abdul的答案的副本。 – Imad

+0

它不起作用.. – Sarahdonner

+0

company.aspx文件的完整路徑是什麼? –

0

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

替換與正確的文件路徑路徑從服務器端調用事件。

0

試試這個

 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/en-us/library/a8wa7sdt(v=vs.110).aspx

+0

這不會使*重定向工作,只是*阻止它在一些案件(這可能不會發生在這個簡單的處理程序)。 –

相關問題