如何在SQL Server 2012中使用Soap Jquery保存数据?

问题描述:

我想保存使用肥皂Jquery的C#的WebMethod数据,但无法保存数据SQL服务器请帮助我,我怎么能节省使用香皂的jQuery数据。我使用IDE Visual Studio 2015如何在SQL Server 2012中使用Soap Jquery保存数据?

<script type="text/javascript"> 

    function SavePersonRecord() { 

     var Name = $.trim($('#<%=txtName.ClientID %>').val()); 
     var LName = $.trim($('#<%=txtlname.ClientID %>').val()); 
     var Company = $.trim($('#<%=txtCompany.ClientID %>').val());  
     var Messege = "";   
     if (Name == '') { 
      Messege = "Can not Blank Name"; 
     }   
     if (LName == '') { 
      Messege += "Can not Blank Last Name"; 
     } 
     if (Company == '') { 
      Messege += " Company Name Can not Blank"; 
     } 
     if (Messege.length == 0) {   
      $.ajax({ 
       type: "POST", 
       dataType: "json", 
       contentType: "application/json; charset=utf-8", 
       url: "Soap-Service.aspx/InsertPersonRecord", 
       data: "{'FirstName':'" + Name + "', 'LastName':'" + LName + "','Company':'" + Company + "'}", 
       success: function (Record) { 

         $('#txtName').val(); 
         $('#txtlName').val(); 
         $('#txtCompany').val(); 

        if (Record.d == true) { 

         $('#Result').text("Your Record insert"); 
        } 
        else { 
         $('#Result').text("Your Record Not Insert"); 
        } 

       }, 
       Error: function (textMsg) { 

        $('#Result').text("Error: " + Error); 
       } 
      }); 
     } 
     else {    
      $('#Result').html(''); 
      $('#Result').html(Messege); 
     } 
     $('#Result').fadeIn(); 
    } 
    </script> 





    <table border="0" cellpadding="5" cellspacing="5" style="border: solid 2px Green;"> 
           <tr> 
            <td colspan="2" style="background-color: red; color: white; font-weight: bold; font-size: 12pt; text-align: center; font-family: Verdana;">Enter Employee Information</td> 
           </tr> 
           <tr> 
            <td>First Name: 
            </td> 
            <td> 
             <asp:TextBox ID="txtName" runat="server" Text="" /> 
            </td> 
           </tr> 
           <tr> 
            <td>Last Name: 
            </td> 
            <td> 
             <asp:TextBox ID="txtlname" runat="server" /> 
            </td> 
           </tr> 
           <tr> 
            <td>Company 
            </td> 
            <td> 
             <asp:TextBox ID="txtCompany" runat="server" /> 
            </td> 
           </tr> 
           <tr> 
            <td></td> 
            <td> 
             <asp:Button ID="btnInsertRecord" Text="Save" runat="server" OnClientClick="SavePersonRecord(); return false" /> 
            </td> 
           </tr> 
          </table> 

enter image description here

+1

请问这个问题得到upvoted?请描述你的努力和具体问题。 –

+0

@RomanoZumbé正是我想知道的,一些代码(你试过的任何代码)也会有帮助。 –

最后,我的代码,那么这里运行的代码有一个在Web应用程序中的一些小变化

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script> 
 
    <script type="text/javascript"> 
 
     $(function() { 
 
      $('#btnSubmit').click(function() { 
 
       var Name = $('#txtname').val(); 
 
       var Contact = $('#txtcontact').val(); 
 
       //var body = $('#txtbody').val(); 
 
       if (Name != '' && Contact != '') { 
 
        $.ajax({ 
 
         type: "POST", 
 
         contentType: "application/json; charset=utf-8", 
 
         url: "Soap-Jquery.aspx/InsertData", 
 
         data: "{'EmpName':'" + Name + "','ConNo':'" + Contact + "'}", 
 
         dataType: "json", 
 
         success: function (data) { 
 
          var obj = data.d; 
 
          if (obj == 'true') { 
 
           $('#txtname').val(''); 
 
           $('#txtcontact').val(''); 
 
           //$('#txtbody').val(''); 
 
           $('#lblmsg').html("Details Submitted Successfully"); 
 
           window.location.reload(); 
 
          } 
 
         }, 
 
         //error: function (result) { 
 
         // alert("Error"); 
 
         //} 
 
        }); 
 
       } 
 
       else { 
 
        alert('Please enter all the fields') 
 
        return false; 
 
       } 
 
      }) 
 
     }); 
 
    </script>
<asp:Panel ID="pnl_add_payment" runat="server"> 
 
    
 
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
 

 
    <section> 
 

 
     <div class="container"> 
 
      <div class="row"> 
 
       <div class="form-group"> 
 
        <button type="button" class="btn btn-primary ribbon">Data Insert Using Jquery</button> 
 
        <asp:Label ID="lblmsg" runat="server" Text="" ForeColor="Red"></asp:Label> 
 
        <div class="col-md-12" style="margin-top: 15px;"> 
 
         <div class="col-md-2">Enter Name</div> 
 
         <div class="col-md-4"> 
 
          
 
           <asp:TextBox ID="txtname" runat="server" class="form-control" placeholder="Enter Name"></asp:TextBox> 
 
          <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtname" ErrorMessage="*" ForeColor="Red" ValidationGroup="a"></asp:RequiredFieldValidator> 
 
          
 
         </div> 
 
         <div class="col-md-2">Enter Contact No</div> 
 
         <div class="col-md-4"> 
 
          <asp:TextBox ID="txtcontact" runat="server" class="form-control" placeholder="Enter Contact No"></asp:TextBox> 
 
          <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="txtcontact" runat="server" ErrorMessage="Only Numbers allowed" ValidationExpression="\d+" ForeColor="Red" ValidationGroup="a"></asp:RegularExpressionValidator> 
 
          <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtcontact" ErrorMessage="*" ForeColor="Red" ValidationGroup="a"></asp:RequiredFieldValidator> 
 
         </div> 
 
         <div class="col-md-6"> 
 
          <asp:Button ID="btnSubmit" runat="server" Text="Submit" value="Submit" ValidationGroup="a" /> 
 
         </div> 
 

 
        </div> 
 

 
       </div> 
 
       
 
       <%--End Form Group--%> 
 
      </div> 
 
      <%--End Row--%> 
 
     </div> 
 
     <%--End Container--%> 
 
    </section>  
 
    <br /><br /> 
 
    <section> 
 
     <div class="container"> 
 
      <div class="row"> 
 
       <div class="col-md-6"> 
 

 

 
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" Width="100%"> 
 

 
         <Columns> 
 
          <asp:BoundField DataField="EmpName" HeaderText="Name" /> 
 
          <asp:BoundField DataField="ConNo" HeaderText="Number" /> 
 
         </Columns> 
 
         <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" /> 
 
         <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" /> 
 
         <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" /> 
 
         <RowStyle BackColor="White" ForeColor="#330099" /> 
 
         <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" /> 
 
         <SortedAscendingCellStyle BackColor="#FEFCEB" /> 
 
         <SortedAscendingHeaderStyle BackColor="#AF0101" /> 
 
         <SortedDescendingCellStyle BackColor="#F6F0C0" /> 
 
         <SortedDescendingHeaderStyle BackColor="#7E0000" /> 
 
         
 
        </asp:GridView> 
 
       </div> 
 
      </div> 
 
     </div> 
 
    </section> 
 

 
</asp:Panel>

[WebMethod] public static string InsertData(string EmpName,string ConNo) string msg = string.Empty; 使用(SqlConnection的CON =新的SqlConnection(ConfigurationManager.ConnectionStrings [ “构造”]的ConnectionString)。) { 使用(的SqlCommand CMD =新的SqlCommand( “sp_insertEmp”,CON)) { con.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue(“@ EmpName”,EmpName); cmd.Parameters.AddWithValue(“@ ConNo”,ConNo); int i = cmd.ExecuteNonQuery(); con.Close(); 如果(我== 1){

    msg = "True"; 
       } 
       else 
       { 
        msg = "false"; 
       } 

      } 
     } 

     return msg; 
    } 

模糊的问题。但是,请执行以下步骤:

  1. 您是否在浏览器控制台中发现了任何会导致您的JavaScript代码出错的错误?
  2. 您是否在“错误:”部分捕获了任何错误?
  3. 如果上面两个看起来都不错,你有没有把dubugger放在你的webmethod中来检查它是否被击中?
  4. 毕竟这是否存在任何服务器端异常(在您的webmethod中)? 4
  5. 回答)是肯定的,张贴例外
+0

没有先生我没有得到任何错误,但使用调试器它显示的JavaScript错误字符串不是JSON格式 –

+0

这里的任何问题,只是一个疯狂的猜测? data:“{'FirstName':'”+ Name +“','LastName':''+ LName +'','Company':'”+ Company +“'}” –

+0

Sir问题显示在这里URL: “SOAP的服务。aspx/SaveUser“,(字符串是不是JSON格式)相同的脚本我正在使用另一个例子,它工作正常,但是当我在Visual Studio 2015中创建新的Web窗体项目,然后显示此问题,我分享另一个脚本此脚本是也显示相同的错误,但在另一个项目中的例子它工作正常.. –

好吧,我可以看到你与你的Ajax调用了问题。它应该是:

 $.ajax({ 
      type: "POST", 
      dataType: "json", 
      contentType: "application/json; charset=utf-8", 
      url: "Soap-Service.aspx/SaveUser", //Here you got wrong method 
      //right here you should pass object (not string) with right property names (like you have in your web method) 
      data: { FName: Name, LNAme: LName, Company: Company}, 
      success: function (Record) { 
       $('#txtName').val(); 
       $('#txtlName').val(); 
       $('#txtCompany').val(); 

       if (Record.d == true) { 

        $('#Result').text("Your Record insert"); 
       } 
       else { 
        $('#Result').text("Your Record Not Insert"); 
       } 
      }, 
      error: function (textMsg) { 
       $('#Result').text("Error: " + Error); 
      } 
     }); 

上面你的WebMethod你应该增加:

[WebInvoke(Method="POST",ResponseFormat=WebMessageFormat.Json)]