UpdatePanel. Перенаправление на другую страницу.
От: Аноним  
Дата: 08.01.08 16:18
Оценка:
На моей форме логина есть UpdatePanel:

<asp:UpdatePanel ID="PanelLoginMesage" runat="server">
        <ContentTemplate>
            <asp:Label ID="lblMessage" runat="server"></asp:Label>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger  ControlID="LoginButton" EventName="Click"/>
        </Triggers>
</asp:UpdatePanel>


Есть обработчик:
protected void LoginButton_Click(object sender, EventArgs e)
{
        MyUser user = new MyUser(login, password);
        user.DoLogin();

        if (user.LoginResult == LoginResults.Unsuccessfully)
        {
            lblMessage.Text = "User name or password are incorrect!";
        }
        else if (user.LoginResult == LoginResults.Successfully)
        {
            this.Response.Redirect("SimplePage.aspx"); // Как тут перенаправить пользователя на страницу?
            
        }
        else
        {
            lblMessage.Text = "Unknown result of login operation...";
        }
}



С помощью панели я проверяю логин и пароль пользователя без презагрузки страницы с сервера. Если логин и пароль правильные, то необходимо пренаправить пользователя уже на следующую страницу. Возможно ли это? Если да, то как это сделать? Если нет, то как обычно поступают в таких ситуациях?
Само собой Server.Transfer и Response.Redirect я уже пробовал. Возникает непонятная ошибка о том, что браузер не может разпарсить страницу. Но я уже сделал новую страницу пустой, не помогло. Если нужно, я перепишу текст ошибки, скопировать в буфер и вставить его тут не получается.
Re: UpdatePanel. Перенаправление на другую страницу.
От: TK Лес кывт.рф
Дата: 09.01.08 06:01
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>С помощью панели я проверяю логин и пароль пользователя без презагрузки страницы с сервера. Если логин и пароль правильные, то необходимо пренаправить пользователя уже на следующую страницу. Возможно ли это? Если да, то как это сделать? Если нет, то как обычно поступают в таких ситуациях?


Проверьте пользователя скриптом через Sys.Services.AuthenticationService.login и по результатам проверки можно будет сделать редирект на нужную страницу уже из браузера
... << RSDN@Home 1.2.0 alpha rev. 786>>
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: UpdatePanel. Перенаправление на другую страницу.
От: Аноним  
Дата: 09.01.08 11:18
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, <Аноним>, Вы писали:


А>>С помощью панели я проверяю логин и пароль пользователя без презагрузки страницы с сервера. Если логин и пароль правильные, то необходимо пренаправить пользователя уже на следующую страницу. Возможно ли это? Если да, то как это сделать? Если нет, то как обычно поступают в таких ситуациях?


TK>Проверьте пользователя скриптом через Sys.Services.AuthenticationService.login и по результатам проверки можно будет сделать редирект на нужную страницу уже из браузера


Уж очень мудрёно получается... Я предполагал сделать все как можно проще... Можеть быть сделать подобное (проверить логин и пароль не перегружая страницу, если все правильно, перенаправить на следующую страницу) как-нибудь по-другому? Посоветуйте пожалуйста.
Re: UpdatePanel. Перенаправление на другую страницу.
От: Chese  
Дата: 09.01.08 14:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть обработчик:

...
else if (user.LoginResult == LoginResults.Successfully)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Redirect", "window.location = 'Home.aspx'", true); // Как перенаправить пользователя на страницу.
}
...
Re[2]: UpdatePanel. Перенаправление на другую страницу.
От: Аноним  
Дата: 09.01.08 21:47
Оценка:
Здравствуйте, Chese, Вы писали:

C>Здравствуйте, Аноним, Вы писали:


А>>Есть обработчик:

C>
C>...
C>else if (user.LoginResult == LoginResults.Successfully)
C>{
C>ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Redirect", "window.location = 'Home.aspx'", true); // Как перенаправить пользователя на страницу.
C>}
C>...
C>

Спасибо всем, кто откликнулся!
Причина моей ошибки открылась в совершенно неожиданном (для меня) месте. Оказалось, что студия почему-то не добавила некоторые строки в web.config. Причем в других проектах она это делала исправно. Собственно из старых проектов я и восстановил правильный файл конфигурации. Вот эти строки:

<httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
    </httpHandlers>
    <httpModules>
      <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpModules>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.