您好我在将记录插入数据库时遇到问题。我使用实体框架作为我的后端。我有以下代码。我无法弄清楚我的代码中的实际问题,因为在尝试运行时没有显示错误消息。
的.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;
}
请帮助我克服这个问题。谢谢。
答案 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开发人员工具进行调试,这样可以节省时间。