bootstrap предупреждение со стороны сервера asp. net с использованием javascript - PullRequest
0 голосов
/ 19 марта 2020

i created a alert like this when clicked on Forgot Password. i am trying to get the similiar alert when login fails Я пытаюсь получить предупреждение, которое показывает «Неверный пароль и пароль», если не удается войти в систему, но проблема заключается в том, как запустить оповещение со стороны сервера. Я думаю, что я должен вызвать функцию javascript со стороны сервера. Я попробовал это, но это не работает. Я также другое предупреждение для "Пожалуйста, свяжитесь с менеджером" Вот мой код ниже то, что пытаются сделать, это вызвать нажатие кнопки со стороны сервера, чтобы активировать предупреждение, но оно не работает, а

image

Вот код на стороне сервера

 using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{

    SqlConnection cn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True");
    SqlCommand co = new SqlCommand();
    SqlDataReader ds;
    SqlParameter @p1, @p4;
    protected void Page_Load(object sender, EventArgs e)
    {

    }




    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            cn.Open();
            co.Connection = cn;
            co.CommandText = "select * from reg where Id='" + TextBox1.Text + "' and Password='" + TextBox2.Text + "'";
            ds = co.ExecuteReader();
            if (ds.Read())
            {
                // co.CommandText = "select * from res where Id='" + TextBox1.Text + "' and Password='" + TextBox2.Text + "'";
                Response.Redirect("http://localhost:50892/home.aspx");
            }
            else
            {
                lblerror.Text = "Incorrect Id and Password";
            }
        }
        catch (Exception e1)
        {
            Response.Write(e1.Message);
        }
        finally
        {
            cn.Close();
        }
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        try

        {
            cn.Open();
            co.Connection = cn;
            co.CommandText = "select * from manager where Id='" + TextBox1.Text + "' and Password='" + TextBox2.Text + "'";
            ds = co.ExecuteReader();
            if (ds.Read())
            {
                Response.Redirect("http://localhost:50892/home2.aspx");
            }
            else
            {
                // lblerror.Text = "Incorrect Id and Password";
                //ScriptManager.RegisterClientScriptBlock(this, "mykey", "myfunctionclick(;)", true);
                // ScriptManager.RegisterClientScriptBlock(this.Page, Page.GetType(), "script", "myfuntionclick();", true);
                //    ScriptManager.RegisterStartupScript(Page, this.GetType(), "Exception", "alert('Invalid Password')", true);
                // ClientScript.RegisterStartupScript(this.GetType(), "JSScript", RegisterClientScriptBlock
               // ScriptManager.RegisterStartupScript(this,this.GetType(), "script", "myfuntionclick();", true);
            }

        }
        catch (Exception e1)
        {
            Response.Write(e1.Message);
        }
        finally
        {
            cn.Close();
        }
    }

    protected void Button3_Click(object sender, EventArgs e)
    {

    }
}


Ответы [ 2 ]

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

Рассматривали ли вы отправку ответа своему клиенту?

Если вы не можете найти пользователя в БД, отправьте ответ с кодом состояния 422 (необработанный объект).

Представьте себе у вас есть форма:

<form id='myForm'>
    ...
    <button id='submit'>Submit</button>
</form>

Теперь, используя ajax, вы отправляете свои данные

<script>
    $('#submit').onClick(function(){
        $.ajax({
            method: "POST",
            url: "/you/script/.aspx",
            data: {
                user_name: 'user_name_from_form',
                password: 'password_from_form'
            },
            success: function (response) {
                //do something if you want
            },
            error: function (error) {
                //show your alert - status code 422 is an error
            }
        });
    });   
</script>
0 голосов
/ 19 марта 2020

Попробуйте это

ClientScript.RegisterStartupScript(this.GetType(), "JSScript",  alert("Invalid Password"));

ИЛИ

ScriptManager.RegisterStartupScript(Page, this.GetType(), "Exception", "alert('Invalid Password')", true);

ОБНОВЛЕНИЕ: я помещаю пример кода, где SM работает над нажатием кнопки ..

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TESTSM.aspx.cs" Inherits="TESTSM" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
                <asp:ScriptManager runat="server" EnablePageMethods="true">
        <Scripts>
            <asp:ScriptReference Name="jquery" />
            <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" />
            <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" />
        </Scripts>
    </asp:ScriptManager>
    <div>
            <asp:Button ID="Button1" runat="server" Text="CLICK" ValidationGroup="vgTest" OnClick="Button1_Click" />

    </div>
    </form>
</body>
</html>

CODEBehind

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class TESTSM : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }


    protected void Button1_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(Page, this.GetType(), "Exception", "alert('Invalid Password')", true);
    }

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