2015-11-02 2 views
0

Я пробовал оба Response.Redirect и Server.Transfer, чтобы взять меня на новую страницу при нажатии кнопки, но каждый раз, когда моя страница просто обновляется, и я никогда не перенаправляюсь на новую страницу. Я проверил страница существует в моем проекте и даже скопировать/вставить имя страницы в мой синтаксис, чтобы убедиться, не странные пространства или что-нибудь, но я никогда не попадаюButton Нажмите, чтобы отправить на новую страницу

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> 

EDIT
с помощью ~/ разрешит перенаправление, но он выдает следующую ошибку. Страница существует!

Ресурс не найден.

Описание: HTTP 404. Ресурс, который вы ищете (или его зависимости), мог быть удален, изменилось его имя или временно недоступно. Просмотрите следующий URL-адрес и убедитесь, что оно написано правильно.

Запрошенный URL: /page2.aspx

EDIT 2
Это разметка для моего page2 если это имеет значение

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="page2.aspx.cs" Inherits="page2" %> 

И если я использую localhost в моем редиректа он загружает не проблема, но я готов вытолкнуть это в переплетения сети и больше не могу использовать localhost. Что я должен изменить?

http://localhost:1444/TestProject/page2.aspx 

EDIT 3
Если это помогает (или вопросы) полное расположение на странице .aspx, что я хочу, чтобы перенаправить на это:

C:\Users\Habib\Documents\Visual Studio 2015\Projects\Test\TestProject\Page2.aspx 
+0

Вы написали btnl_OnClick с буквой «l» вместо цифры «1» –

+0

Вы можете попробовать это решение http://stackoverflow.com/a/23976700/4660897. Также убедитесь, что ваша страница aspx подключена к вашему коду за страницей. –

+0

Являются ли page1 и page2 в папке TestProject? – Partha

ответ

0

Вы показали синтаксис, который является как известно, работает ли это средство Response.Redirect() или Server.Transfer(), эти методы проверены и истинны, чтобы быть успешными. Если при прохождении кода вы попадаете в точку останова для перенаправления, тогда покажите нам, что у вас есть в вашем Page_Load() для page2.aspx.

И мы можем помочь в дальнейшем диагностике и/или устранении неполадок.

Смежные вопросы