来自c#web方法的布尔响应不起作用

时间:2014-02-13 17:05:34

标签: jquery asp.net ajax webmethod toastr

这是我对ajax的第一次尝试! 我无法在互联网上找到一篇好的帖子,我可以在那里学习并申请我的项目。

让我直接告诉你代码!

    [WebMethod]
    protected bool CheckUsername(string username)
    {
        var check = (from c in dc.dml_np_Users
                     where c.Username.Equals(username)
                     select c).Count();
        if (check > 0)
        {
            return false; //return false if username exist in database
        }
        else
        {
            return true; //true if it doesn't exist, i.e available
        }
    }
带有jquery的

标记如下:

<script type="text/javascript">
                            $('#txtUsername').blur(function () {
                                $(function () {
                                    $.ajax({
                                        type: "POST",
                                        url: "Login.aspx.cs/CheckUsername",
                                        data: JSON.stringify({ username: $('#txtUsername').val() }),
                                        contentType: "application/json; charset=utf-8",
                                        dataType: "json",
                                        success: function (data) {
                                            if (data) {
                                                toastr.success('username available');
                                            }
                                            else {
                                                toastr.error('Username already exist');
                                                $('#txtUsername').focus();
                                            }
                                        },
                                        error: function (data) {

                                        }
                                    });
                                });
                            });
                        </script>
                        <asp:TextBox ID="txtUsername" CssClass="form-control" runat="server" placeholder="Username"
                            AutoCompleteType="DisplayName" ValidationGroup="Signup"></asp:TextBox>

现在jquery应该包含这样的内容:if(var available为true)成功toastr应该显示其他错误toastr应该显示!我第一次使用toastr!请更正我的代码!!请原谅我在一个问题中提出太多问题!!

以上代码始终显示错误消息!!

2 个答案:

答案 0 :(得分:1)

在我看来,将此url: "Login.aspx.cs/CheckUsername",更改为此url: "Login.aspx/CheckUsername",

答案 1 :(得分:0)

只是进行验证?

                        <script type="text/javascript">
                     $(document).ready(function(){
                        $('#txtUsername').blur(function () {
                                $.ajax({
                                    type: "POST",
                                    url: "Login.aspx.cs/CheckUsername",
                                    data: JSON.stringify({ username: $('#txtUsername').val() }),
                                    contentType: "application/json; charset=utf-8",
                                    dataType: "json",
                                    success: function (data) {
                                        if (data) {
                                            toastr.success('username available');
                                        }
                                        else {
                                            toastr.error('Username already exist');
                                            $('#txtUsername').focus();
                                        }
                                    },
                                    error: function (data) {

                                    }
                                });
                        });
                 });
                    </script>
                    <asp:TextBox ID="txtUsername" CssClass="form-control" runat="server" placeholder="Username"
                        AutoCompleteType="DisplayName" ValidationGroup="Signup"></asp:TextBox>