可以';在没有任何Postback asp.net的情况下,不能将记录插入数据库
本文关键字:情况下 不能 数据库 插入 记录 net asp Postback 任何 可以 | 更新日期: 2023-09-27 18:00:27
嗨,我在将记录插入数据库时遇到问题。我使用实体框架作为我的后端。我有以下代码。我无法弄清楚代码中的实际问题,因为在尝试运行时没有显示错误消息。
.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;
}
请帮我克服这个问题。非常感谢。
您的代码没有问题。你能看看铬合金的控制台吗?
请求返回404或500。
你可以查看网址:
url: "/company_master.aspx/InsertCompany",
试试这个
<button type="button" onclick="SaveRecord(); return false">Submit</button>
此外,如果有任何其他错误,请在浏览器控制台中检查
尝试使用<input type='button'>
,看看它是如何工作的。提交可能与发送AJAX请求的事件冲突。
我复制了你的代码,它不需要调整就可以工作。唯一的区别是我有这个
<form id="form1" runat="server">
div包含在其中。使用默认浏览器作为谷歌chrome,并使用chrome开发工具进行调试,这样可以节省时间。