1

This is the particular webservice code where i retrieve the username ,how i can i write c# code to place json data to sql database in webservice and display the acknowledgement in html page

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; 

    }

}

}

1 Answer 1

1

Decorate your AjaxService class as follows:

[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; }
}

Then your JQuery would look like this:

$( 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);
        } 
    });

});
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.