Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Response.Redirect и якоря


Автор: Voyager 28.9.2007, 11:14
Проблема такая - не переходит на <a name='post1'></a> при выполнении Response.Redirect("mypage.aspx?topic=1#post1"), когда в редиректе указан якорь элемента на странице. То есть при открытии страницы после Response.Redirect теряется #post1, позиционируется на самый верх. Как сделать позиционирование на странице при ее открытии?

Автор: Mymik 28.9.2007, 13:19
Цитата(Voyager @  28.9.2007,  11:14 Найти цитируемый пост)
То есть при открытии страницы после Response.Redirect теряется #post1,

А что значит теряется ??? в смысле url меняется на mypage.aspx?topic=1 ??? или на что ??? и потом, пустой <a></a> нельзя делать... нужно там хотя бы &nbsp; поставить.

Автор: Voyager 28.9.2007, 18:09
Цитата(Mymik @  28.9.2007,  13:19 Найти цитируемый пост)
в смысле url меняется на mypage.aspx?topic=1 ???

Вот именно. А <a></a> нормально работает, если напрямую написать mypage.aspx?topic=1#post1, переходит без проблем.

Автор: Voyager 30.9.2007, 17:28
Хорошо, а как можно по другому просто перейти на другую страницу?

Автор: tol05 1.10.2007, 00:09
Цитата(Voyager @  30.9.2007,  17:28 Найти цитируемый пост)
Хорошо, а как можно по другому просто перейти на другую страницу? 

В смысле? 
На сервере - через Server.Transfer()
в браузере - через гиперлинки, Response.Redirect, юзанием свойства серверных контролов PostBackUrl (при этом просто рендерится javascript скрипт для контрола)
Куча вариантов...
кстати, а у меня получилось редиректом на анкер перейти  smile 
исходная страница
Код

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

<!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>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
      </div>
    </form>
</body>
</html>

Код

using System;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
            
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
         Response.Redirect("Default2.aspx?#post1");
    }
}

целевая страница
Код

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

<!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>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
             a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            <a name='post1'>Anker</a> 
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            a<br />
            </div>
    </form>
</body>
</html>

Автор: СЭНСЭЙ 7.12.2007, 17:36
А можно через Responce перейти на другой url в новом окне?

Автор: Mymik 7.12.2007, 18:21
СЭНСЭЙ, нет. только через ссылку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)