2010-08-25 5 views
1

Ceci est le code webservice particulier où je récupère le nom d'utilisateur, comment je peux j'écrire C# code pour placer les données JSON à la base de données SQL dans webservice et afficher la reconnaissance dans la page htmlplaçant les données JSON à la base de données SQL de webservice

public class AjaxService : System.Web.Services.WebService 
{ 
    [WebMethod] 
    public bool CheckUserNameAvailability(string userName) 
    { 
     List<String> userNames = new List<string>() { "azamsharp", "johndoe", "marykate", "alexlowe", "scottgu" }; 

     var user = (from u in userNames 
        where u.ToLower().Equals(userName.ToLower()) 
        select u).SingleOrDefault<String>(); 

     return String.IsNullOrEmpty(user) ? true : false; 

    } 

} 

}

Répondre

1

Décorez votre classe AjaxService comme suit:

[WebService(Description = "Web services to query the book database.", Namespace ="http://www.your-site-url.com/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[ScriptService] 
public class AjaxService: System.Web.Services.WebService 
{ 

    [WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public bool CheckUsernameAvailability(string userName, Options options) 
    { 
     return this.WriteToSql(options); 
    } 

    private bool WriteToSql(Options options) 
    { 
     bool result = false; 

     try 
     { 
      SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString); 

      SqlCommand command = new SqlCommand("INSERT_OPTION", connection); 
      command.CommandType = CommandType.StoredProcedure; 
      command.Parameters.Add("@Option1", SqlDbType.NVarChar, 20).Value = options.Option1; 
      command.Parameters.Add("@Optoin2", SqlDbType.Bit).Value = (options.Option2 == true) ? 1 : 0; 

      connection.Open(); 
      command.ExecuteNonQuery(); 
      connection.Close(); 

      result = true; 
     } 
     catch(Exception ex) 
     { 
      //do some logging here... 
      result = false; 
     } 

     return result; 
    } 
} 

[Serializable] 
public class Options 
{ 
    public string Option1 { get; set; } 
    public bool Option2 { get; set; } 
} 

Ensuite, votre JQuery ressemblerait à ceci:

$(function(){ 

    $.ajax({ 
     type: 'POST', 
     contentType: "application/json; charset=utf-8", 
     url: "AjaxService.asmx/CheckUsernameAvailability", 
     data: { userName: 'TestUsername', options: { Option1: 'test', Option2: 'false' } }, 
     success: function(msg) { 
      //display acknowledgement here. DO NOT USE EVAL! It's bad. 

      var result = eval(msg); 
      alert(result); 
     } 
    }); 

}); 
Questions connexes