ASP. NET веб-формы перенаправляют на другую страницу - PullRequest
0 голосов
/ 18 марта 2020

Я не смог бы реализовать функциональность, которая после того, как она вставлена ​​в базу данных, на экране отображается сообщение «ОК», а затем перенаправляется на другой экран. сообщение игнорирует меня и перенаправляет на страницу, о которой идет речь. будет ли перенаправление на стороне клиента в событии onClientClick?

try
{
        metodos.agregarProveedor(
            this.DSCRIPTN,
            this.vendorId,
            this.TAXSCHID,
            this.vendName,
            this.empresaNombre,
            this.contactoFormulario,
            this.VNDDCDPR,
            this.domFiscalFormularioDos,
            this.domFiscalFormularioTres,
            this.inet1,
            this.phoneNumbr1,
            this.phoneNumbr2,
            this.city,
            this.state,
            this.zipCode,
            this.country,
            this.origenOperaciones,
            this.comp,
            this.respble,
            this.userPassword);

        resultado.Text = "Insercion ok";
        resultado.CssClass = "btn btn-primary";

        //Response.Write("<script>alert('Proveedor cargado')</script>");
        Thread.Sleep(3000);
        Server.Transfer("login.aspx");
        //Response.Write("<script>window.location.href= 'login.aspx'</script>");
}
catch (Exception error)
{
    resultado.Text = error.Message;
    resultado.Text = error.StackTrace;
}
finally
{
}

1 Ответ

0 голосов
/ 18 марта 2020

Все, что делает ваш код - это приостанавливает поток на стороне сервера, а затем передает управление в другую форму. Ничего не отображается.

Если вы хотите отобразить сообщение, вы должны ответить на странице. После рендеринга страницы вам необходимо активировать перенаправление, которое, как вы уже догадались, невозможно со стороны сервера. Вам нужен либо код на стороне клиента, либо вы можете использовать трюк с заголовком refre sh, например ....

Вместо

Thread.Sleep(3000);
Server.Transfer("login.aspx");

Попробуйте

Response.AddHeader("REFRESH","3;URL=login.aspx");

Это позволит странице обрабатываться браузером, но также обеспечивает перенаправление через 3 секунды.

См. Также этот ответ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...