javascript - 使用 JavaScript 检查重复数据

标签 javascript asp.net validation duplicate-data

我正在 asp.net 中编写 Web 应用程序。我有一个输入表格。我希望当客户端在插入之前单击“保存”按钮时,检查此数据是否在数据库中。我已经用后面的代码编写了它。但我想用java脚本来做到这一点,因为当我使用页面刷新后面的代码时。这是我用于检查重复数据的 .net 代码:

SqlCommand commandrepeat1 = new SqlCommand("Select code from CmDet where code = " + txtcode.Text + " and company = " + DataBase.globalcompany.ToString() + " order by code desc");
            commandrepeat1.Connection = objconnection;
            objconnection.Close();
            objconnection.Open();
            SqlDataReader drmax1;
            drmax1 = commandrepeat1.ExecuteReader();
            drmax1.Read();
            if (drmax1.HasRows)
            {
                MessageBox.Show("Duplicate data . try again!!! ");
                txtcode.Focus();
                objconnection.Close();
                return;
            }
            objconnection.Close();
        }
        catch
        {
            objconnection.Close();
        }

最佳答案

您应该让 ASP.NET 按钮实现 OnClick 事件(在确定不存在重复数据后执行服务器端代码)和 OnClientClick事件(执行您的 JavaScript,该 JavaScript 将调用以检查是否存在重复数据)。

我建议如下:

在 JavaScript 中,向按钮添加 jQuery 单击事件,如下所示:

$( "#myButton" ).click(function() {

});

注意:我假设您的按钮名称为 myButton,请更改它以匹配标记中按钮的 ID。

现在您需要调用服务器端来执行逻辑以查找重复数据。我建议使用通过 jQuery .ajax() 函数调用的 ASP.NET AJAX 页面方法,如下所示:

$.ajax({
    type: "POST",
    url: "YourPage.aspx/DoesDataExist",
    data: "{'codeValue': $('#myTextBox').val()}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
        if(msg.d) {
            // This is a duplicate, alert user with message
            // Block the server-side click from happening with return false;
            return false;
        }
    }
});

最后,我们需要构建服务器端代码来处理上面 jQuery 调用的页面方法,如下所示:

[WebMethod]
public static bool DoesDataExist()
{
    SqlCommand commandrepeat1 = new SqlCommand("Select code from CmDet where code = " + txtcode.Text + " and company = " + DataBase.globalcompany.ToString() + " order by code desc");
    commandrepeat1.Connection = objconnection;
    objconnection.Close();
    objconnection.Open();
    SqlDataReader drmax1;
    drmax1 = commandrepeat1.ExecuteReader();
    drmax1.Read();
    if (drmax1.HasRows)
    {
        objconnection.Close();
        return true;
    }
    objconnection.Close();

    return false;
}

关于javascript - 使用 JavaScript 检查重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18337844/

相关文章:

javascript - 切换按钮不起作用。没有显示 : none; at first click

javascript - 在添加之前检查是否存在 css href 链接

c# - "True"REST 路由通过 MVC 4 Web API

javascript - 如何在 formValidation 插件中调用验证回调函数?

c# - asp.net aspx 的标记验证

javascript - 反向无限滚动

javascript - 将变量添加到页面中 - wordpress

asp.net - HttpContext.GetGlobalResourceObject 始终返回 null

c# - ASP.NET MVC 4 局部 View 不工作

validation - 神经网络训练这么快就停止了