无法在没有任何Postback asp.net的情况下将记录插入数据库

时间:2015-06-30 14:14:45

标签: c# jquery asp.net ajax entity-framework

您好我在将记录插入数据库时​​遇到问题。我使用实体框架作为我的后端。我有以下代码。我无法弄清楚我的代码中的实际问题,因为在尝试运行时没有显示错误消息。

的.aspx

<link rel="stylesheet" href="/Content/jquery-ui.css" type="text/css" />       
<script type="text/javascript" src="/Scripts/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="/Scripts/1.8.24/jquery-ui.min.js"></script></script>

<script type="text/javascript">      
function SaveRecord() {  
            //Get control's values  
            var Name = $.trim($('#<%=txtCompanyName.ClientID %>').val());
            var msg = "";
            //check for validation  
            if (Name == '') {
                msg += "Please enter Name";
            }
            if (msg.length == 0) {
                //Jquery Ajax call to server side method  
                $.ajax({
                    type: "POST",
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    url: "company_master.aspx/InsertCompany",
                    data: "{'Name':'" + Name + "'}",

                    success: function (response) {
                        if (response.d == true) {
                            $('#lblMsg').text("Saved successfully");
                            //Clear/Reset controls  
                            $('#txtCompanyName').val('');
                            //$('#ddlDeptId').val("0");
                        }
                        else {
                            $('#lblMsg').text("Not Saved");
                        }
                    },
                    error: function (xhr, textStatus, error) {
                        $('#lblMsg').text("Error: " + error);
                    }
                });
            }
            else {
                $('#lblMsg').html('');
                $('#lblMsg').html(msg);
            }
        }

</script>

  <div>  
    <asp:TextBox ID="txtCompanyName" runat="server" placeholder="Enter Company Name" ></asp:TextBox>
    <asp:Label ID="lblMsg" runat="server"></asp:Label> 
    <button type="submit" onclick="SaveRecord()"/>Submit
 </div>  

C#代码背后:

using System.Web.Services;


[WebMethod]
public static bool InsertCompany(string Name)
{
   bool status = false;
   try
    {
        var company = new CompanyMaster
        {
            CompanyName = Name
        };

        using (var context = new DBEntities())
        {
            context.CompanyMaster.Add(company);
            context.SaveChanges();
        }
        status = true;
    }
   catch (Exception ex)
   {
       throw ex;
   }

        return status;
}

请帮助我克服这个问题。谢谢。

4 个答案:

答案 0 :(得分:0)

您的代码没问题。你能看一下镀铬控制台吗?

请求返回404或500.

您可以查看网址:

url: "/company_master.aspx/InsertCompany",

答案 1 :(得分:0)

试试这个

<button  type="button" onclick="SaveRecord(); return false">Submit</button>

此外,如果还有其他错误,请检查您的浏览器控制台

答案 2 :(得分:0)

尝试使用<input type='button'>,看看它是如何工作的。可能存在与发送AJAX请求的事件冲突的提交。

答案 3 :(得分:0)

我复制了你的代码,它无需调整即可运行。唯一的区别是我有这个

   <form id="form1" runat="server"> 

并且div包含在其中。使用默认浏览器作为谷歌浏览器,并使用chrome开发人员工具进行调试,这样可以节省时间。