Earlier I explained Binding DropDownList with
jQuery and Wcf service. Now I am going to explain DropDownList with jQuery and
web service. To Bind DropDownList in jQuery We have to write below code in
<script> block.
function
GetBatchInfo(ProductName) {
var getBatch =
"WebService.asmx/GetBatchGodwn";
$.ajax({
type:
"POST",
url: getBatch,
data:
"{'ProductName': '" + ProductName +
"' }",
dataType:
"json",
contentType:
"application/json; charset=utf-8",
dataFilter:
function (data) {
return data; },
success:
function (response) {
$("select[id$=ddlBatch]
> option").remove();
var models = (typeof
response.d) == 'string' ? eval('('
+ response.d + ')') : response.d;
var ddl = $('#ddlBatch');
ddl.append("<option value='0'>-select
Batch-</option>");
for (var i = 0;
i < models.length; i++) {
var val = models[i].Batch + " ( "
+ models[i].StoreGodwn + " ) ";
var text = models[i].Batch;
ddl.append("<option value='" + text +
"'>" + val +
"</option>");
}
},
error:
function (XMLHttpRequest, textStatus,
errorThrown) {
alert(errorThrown);
}
});
}
Suppose I have a table which contain two columns names batch and, godown. With
the above code you get batchno and godown information. Write below code in Web
service.
using
System;
using
System.Collections;
using
System.Linq;
using
System.Web;
using
System.Web.Services;
using
System.Web.Services.Protocols;
using
System.Xml.Linq;
using
System.Collections.Generic;
using
System.Data.SqlClient;
using
System.Data;
///
<summary>
///
Summary description for WebService
///
</summary>
[WebService(Namespace
= "http://tempuri.org/")]
[WebServiceBinding(ConformsTo
= WsiProfiles.BasicProfile1_1)]
// To allow
this Web Service to be called from script, using ASP.NET AJAX, uncomment the
following line.
[System.Web.Script.Services.ScriptService]
public
class WebService
: System.Web.Services.WebService
{
SqlDataAdapter adap;
DataTable dt;
SqlConnection cn =
new SqlConnection(Common.GetConnectionString());
public WebService()
{
//Uncomment the following line if using
designed components
//InitializeComponent();
}
[WebMethod]
public List<getBatch> GetBatchGodwn(string
ProductName)
{
List<getBatch> objgetBatch =
new List<getBatch>();
adap =
new SqlDataAdapter("SP_GET_BATCH_GODOWN",
cn);
adap.SelectCommand.CommandType = CommandType.StoredProcedure;
adap.SelectCommand.Parameters.AddWithValue("@ProductName",
ProductName);
dt =
new DataTable();
adap.Fill(dt);
if (dt.Rows.Count > 0)
{
for (int i = 0;
i < dt.Rows.Count; i++)
{
objgetBatch.Add(new getBatch
{
Batch =
dt.Rows[i]["Batch"].ToString(),
StoreGodwn = dt.Rows[i]["Name"].ToString()
}
);
}
}
return objgetBatch;
}
}
Note :- Web service method always return Collection type.