如何在asp.net中使用jquery和json将数据保存到数据库中
我正在使用jquery和json将数据存储到数据库中的应用程序。
我的脚本function:
function test() { $(document).ready(function () { var Email = document.getElementById('').value; var Message = document.getElementById('').value; var Name = document.getElementById('').value; var ID=32; $.ajax({ type: "POST", url: "Detail.aspx/InsertMethod", data: "{'Name':'" + Name + "'Email:'" + Email + "'Message:'" + Message + "'ID:'"+ID+"'}", dataType: "json", contentType: "application/json; charset=utf-8", success: function (data) { var returnedstring = data.d; } }); }); }
我的设计是: –
input type="text" id="txtName" runat="server" class="form-control"> asp:TextBox ID="txtEmail" runat="server" CssClass="form-control">
我的网络方法是: –
[System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod(enableSession: true)] public static string InsertMethod(string Name, string Email,string Message,sting ID) { int retval = 0; try { Entity_NewsComments objComment = new Entity_NewsComments(); objComment.ID= ID; objComment.Comment = Message; objComment.Email = Email; objComment.Name = Name; if ((!string.IsNullOrEmpty(objComment.Email)) && (!string.IsNullOrEmpty(objComment.Name)) && (!string.IsNullOrEmpty(objComment.Comment))) { objComment.QFlag = "I"; objComment.Date = Convert.ToDateTime(DateTime.Now.ToString()); objComment.Status = 0; //retval = new Process_NewsComments().insert(objComment); if (retval > 0) { } } return "true"; } catch (Exception ex) { throw (ex); } }
但它没有工作。我已经在网络方法上放了一个调试器,但它不会去那里。它也没有显示任何错误。请帮助我
document.ready不是以这种方式使用..无论如何你可以直接调用该函数。 我在你的问题中观察到了很多事情
- Test()方法中不需要Document.ready
- 您要检索的控件ID和参数不同步。
纠正上面的事情并尝试一次。
你的javascript方法应该如下
这是将数据插入数据库而不是发送字符串参数的另一种好方法。 我发送Javascript对象和服务器端接收作为类对象。
服务器端:
public class newComment { public string ID; public string Comment; public string Email; public string Name; }
现在添加ASMX文件并创建webmethod,如下所示:
[WebMethod] public string InsertMethod(newComment newComment) { // logic here }
客户端:
function test() { var newComment = {}; newComment.Comment = "comment txt"; newComment.Email = "Email id"; newComment.Name = "your name"; newComment.ID = "32"; var jsonData = JSON.stringify({ newComment: newComment }); $.ajax({ type: "POST", url: "ajax_update.asmx/InsertMethod", data: jsonData, contentType: "application/json; charset=utf-8", dataType: "json", success: OnSuccess, error: OnErrorCall }); function OnSuccess(response){ var result=response.d; console.log("success") } function OnErrorCall(response){ console.lof(response); } }