sudeshna from bangkok Ответов: 3

Как перенаправить с одной страницы на другую с помощью asp.net и еще vb.net


Привет,

Я новичок в asp.net. Так что просто учитесь всему шаг за шагом.

Я создал страницу входа в систему, и теперь при нажатии кнопки "войти" я хочу, чтобы страница перенаправила его на следующую страницу "изменить пароль".

Я написал код, но он не перенаправляет на следующую страницу.

Я выложу код здесь.
может ли кто-нибудь помочь мне,где я ошибаюсь. Я могу ошибаться, так как я новичок в этом языке.

Жду вашей помощи
Спасибо
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Data


Public Class Login1
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


    End Sub

    Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("loginConnectionString").ConnectionString)
        con.Open()
        Dim cmd As New SqlCommand("select * from log where username =@username and Pass=@password", con)
        cmd.Parameters.AddWithValue("@username", TextBox1.Text)
        cmd.Parameters.AddWithValue("@password", TextBox2.Text)
        Dim da As New SqlDataAdapter(cmd)
        Dim dt As New DataTable()
        da.Fill(dt)
        If dt.Rows.Count > 0 Then
            Response.Redirect("ChangePassword.aspx")
        Else
            ClientScript.RegisterStartupScript(Page.[GetType](), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>")
        End If

    End Sub

   
End Class


это мой html код
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Login.aspx.vb" Inherits="WebApplication2.Login1" %>

<!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></title>
    <style type="text/css">
        .style1
        {
            font-size: medium;
            font-family: Dotum;
        }
        .style2
        {
            color: #FFFFFF;
            background-color: #3333FF;
        }
        .style3
        {
            width: 55%;
            height: 69px;
            margin-top: 33px;
        }
        .style4
        {
            width: 152px;
        }
        .style5
        {
            width: 190px;
        }
    </style>
</head>
<body style="height: 226px">
    <form id="form1" runat="server">
    <div class="style1">
    
                                 
        <span class="style2">Login Page<br />
        </span>
    
    </div>
    <table class="style3">
        <tr>
            <td class="style4">
                UserName</td>
            <td class="style5">
                <asp:TextBox ID="TextBox1" runat="server" Width="180px"></asp:TextBox>
            </td>
            <td>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                    ControlToValidate="TextBox1" ErrorMessage="You must enter Username..!!!" 
                    ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td class="style4">
                Password</td>
            <td class="style5">
                <asp:TextBox ID="TextBox2" runat="server" TextMode="Password" Width="180px"></asp:TextBox>
            </td>
            <td>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                    ControlToValidate="TextBox2" ErrorMessage="You must enter the password ...!!" 
                    ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td class="style4">
                 </td>
            <td class="style5">
                <asp:Button ID="Button1" runat="server" BackColor="Blue" ForeColor="White" 
                    Text="Login" Width="100px" />
            </td>
            <td>
                 </td>
        </tr>
        <tr>
            <td class="style4">
                 </td>
            <td class="style5">
                 </td>
            <td>
                <asp:HyperLink ID="HyperLink1" runat="server" 
                    NavigateUrl="~/Account/Register.aspx">New User Register Here</asp:HyperLink>
            </td>
        </tr>
    </table>
    </form>
</body>
</html>

Yuvaraj Arasu

Это не перенаправление-хорошо, но что происходит ? как и все, что отображается на экране как ошибка или та же страница все еще перезагружается ... и т. д.,
Проверьте, что страница ChangePassword.aspx также находится в том же каталоге, в котором находится ваша страница login1.aspx.

sudeshna from bangkok

Да, ChangePassword.aspx и login.aspx находятся в одном каталоге учетной записи

sudeshna from bangkok

извините, что этот url-адрес отображается, но страница не перенаправляется

http://localhost:13523/Account/Login.aspx?ReturnUrl=%2fAccount%2fChangePassword.aspx

3 Ответов

Рейтинг:
1

Soumitra Mithu

используйте ответ.Перенаправление("~/ChangePassword.aspx"),если оно находится в корневом каталоге. если он находится внутри любого каталога, то используйте имя каталога как ответ.Перенаправление("~/Account/ChangePassword.aspx")


sudeshna from bangkok

Я сделал то же самое.никакое изменение. что-нибудь не так с моим кодом? в заявлении if? пожалуйста, не могли бы вы еще раз проверить это.

Рейтинг:
1

Ram424

Привет судешна из Бангкока,

If you want to redirect to any page in the same web site we can use two ways.

1. Response.Redirect(" Here is the complete path of the destination page");
2. Server.Transfer("Here is the complete path of the destination page");

There is slight difference in between Response.Redirect and  Server.Transfer.


sudeshna from bangkok

Я использовал response.redirect с полным путем, но без изменений,страница не перенаправляется на другую страницу

[no name]

то, что вы получаете после выполнения ответа.Перенаправление заявления.

sudeshna from bangkok

отображается та же страница входа в систему

[no name]

сначала отладьте свой код и пришлите мне тот же код метода перенаправления.

[no name]

Не могли бы вы опубликовать свой код перенаправления c# прямо сейчас?

[no name]

Используйте точку останова, чтобы проверить, выполняется ли эта строка кода.

[no name]

Фактически после выполнения этого оператора он получит исключение и перенаправит на целевую страницу.

sudeshna from bangkok

я удалил этот проект и создал новый,
Я опубликую код

sudeshna from bangkok

Система Импорта.Сведения
Система Импорта.Данных.Поставщики sqlclient
Система Импорта.Конфигурация

Журнал открытых классов
Наследует System.Веб.Пользовательского интерфейса.Страницы

Защищенный Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Обрабатывает Меня.Load

Конец Подводной Лодки

Защищенные суб обработчика button1_click(отправителя как объект, а равно EventArgs) обрабатывает кнопки button1.Щелчок
Dim con как новый SqlConnection(ConfigurationManager.ConnectionStrings("loginConnectionString").Параметр connectionString)
против.Открыть()
Dim cmd As New SqlCommand("select * from log where username =@username and Pass=@password", con)
cmd.параметры.AddWithValue("@username", TextBox1.Text)
cmd.параметры.AddWithValue ("@password", TextBox2.Text)
Dim da как новый SqlDataAdapter(cmd)
Дим ДТ в качестве нового объекта DataTable()
да.Заполнить(ДТ)
Если dt.строки.Тогда считайте > 0
Ответ.Перенаправление("Счет/Changepassword Используется.aspx-файл")
Еще
ClientScript.RegisterStartupScript(Стр.[Метод gettype](), "проверка", "<сценарий языке='JavaScript-код в'>предупреждение('неверное имя пользователя и пароль')</скрипт&ГТ;")
Конец, Если
Конец Подводной Лодки
End Класса

[no name]

k наконец-то вы не отладили свой код.
Еще одна вещь заключается в том, что это VB.net нет asp.net.
Я предполагаю, что это <pre>ДТ.строки.Рассчитывать</pre> getting '0' so debugger is going to else part and still you have a problem with ClientScript.RegisterStartupScript

sudeshna from bangkok

теперь страница перенаправляется на login.aspx, который находится в разделе account/login.aspx
и я создал отдельный log.aspx, который находится вне каталога

[no name]

Сначала подтвердите одну вещь, которую ваша отладка собирается сделать, если часть или еще часть.

sudeshna from bangkok

теперь он работает.Спасибо

[no name]

в чем проблема чувак
дискуссия со мной полезна или нет?

sudeshna from bangkok

Нет,я действительно отладил код, и он не будет больше частью, если я не дам неправильный пароль.
Его внутри asp.net с кодом vb

sudeshna from bangkok

Да, это было полезно.Большое спасибо.Вот почему я уже поблагодарил вас

[no name]

используйте сообщения об ошибках правильно, чтобы избежать таких проблем в коде или поддерживать журнал для приложения, upvote my answer

Рейтинг:
1

Member 14737637

con = New SqlConnection("источник данных=пользователь-ПК;начальный каталог=экзамен;Интегрированная безопасность=True")
против.Открыть()
cmd= New Commandant("Select *from Result where Register Number='" + учебник. Текст + "' ", кон)
cmd = New Commandant("Select *from Result where Student Name='" + учебник. Текст + "' ", кон)
cmd = New Commandant("Select *from Result where CourseName='" + DropDownList1.SelectedItem.Текст + "' ", кон)
cmd = New SqlCommand("Select *from Result where SubjectName='" + DropDownList2.SelectedItem.Текст + "' ", кон)
cmd = New SqlCommand("Select *from Result where SubjectCode='" + DropDownList3.SelectedItem.Текст + "' ", кон)
cmd = New SqlCommand("Select *from Result where Formative25='" + TextBox3. Текст + "' ", кон)
КМД = новая команда sqlcommand("Select *из результат, где Summative75='" + TextBox4.Текст + "' ", кон)
КМД = новая команда sqlcommand("Select *из результата где итог='" + TextBox5.Текст + "' ", кон)
cmd = New SqlCommand("Select *from Result where Remark='" + TextBox6. Текст + "' ", кон)
dr = cmd.Метода executereader
В то время как доктор.HasRows
д-р. Прочитай()
Текстовое поле 3. Text = dr.GetValue(3)
TextBox4.Text = dr.GetValue(4)
TextBox5.Text = dr.GetValue(5)
Конец Пока
д-р. Закрывать()
Если (m1 <= 30) Затем
TextBox6.Text = "Пройти"
ElseIf (m2 > 30) затем
TextBox6.Text = "Сбой"
Конец, Если
TextBox5.Текст = Функция Val(Textbox3 И.Текст) + Функция Val(TextBox4.Текст)
УМК.Метод executenonquery()
против.Закрывать()
Конец Подводной Лодки


CHill60

И где находится перенаправление страницы в этом неформатированном, раскомментированном дампе кода?

Richard Deeming

Поздравляю - вам удалось представить SQL-инъекция[^] уязвимость, которой не было в первоначальном вопросе к вашему совершенно не связанные неформатированный код-дамп.

Ваш приз - огромный штраф GDPR. Пожалуйста, направьте 10 миллионов евро вашему местному комиссару по защите данных.