Add this code on your asp.x page
<head runat="server">
<title></title>
<script src="Scripts/jquery-3.1.1.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="RejectionReasons" runat="server"></asp:DropDownList>
<label id="lblRequired" style="color: red; float: left; text-align: left !important"></label>
<asp:Button ID="btnAction" runat="server" CssClass="button" OnClick="ActionPopUp_Click" CausesValidation="True" Text="" ValidationGroup="SaveRR" OnClientClick="return isRejectReasonSelected();" />
<asp:HiddenField runat="server" ID="hdn_SelectedReasonText" />
<asp:HiddenField runat="server" ID="hdn_SelectedReasonID" />
</div>
</form>
<script>
function isRejectReasonSelected()
{
$('#lblRequired').text('');
var isAnyItemSelected = false;
$('#<%=RejectionReasons.ClientID%> :selected').each(function(i, selected){
isAnyItemSelected = true;
});
if(isAnyItemSelected){
var values = "";
var text = "";
var selected = $("[id*=RejectionReasons] option:selected");
selected.each(function () {
values += $(this).val() + "," ;
text += $(this).html() + ";" ;
});
$('#<%=hdn_SelectedReasonText.ClientID%>').val(text);
$('#<%=hdn_SelectedReasonID.ClientID%>').val(values);
return isAnyItemSelected;
}
else
{
$('#lblRequired').text('Please select reason');
return isAnyItemSelected;
}
}
$(document).ready(function () {
var l_id =$("input[id*='hdn_parm']").val(); // I need to pass this on server side
var url = 'Details.aspx/DropDownBinding'
$.ajax({
url: url,
type: 'POST',
data: JSON.stringify({
l_id: l_id
}),
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function (response) {
$.each(response.d, function (i, val) { //bind data
$("[id*=RejectionReasons]").append('<option value="' + val[1] + '">' + val[0] + '</option>');
},
error: function (request, status, error) {
}
});
});
</script>
</body>
Add this code on server side:
using System.Web.Services;
[WebMethod(EnableSession = true)]
public static List<string[]> DropDownBinding(string l_id)
{
Customer obj = new Customer();
DataSet ds;
ds = obj.getdata(l_id); // get data from database
DataTable dt = ds.Tables(0);
List<string[]> list = new List<string[]>();
foreach (DataRow r in dt.Rows)
{
string[] a = new string;
a[0] = r(0).ToString();
a[1] = r(1).ToString();
list.Add(a);
}
return list;
}
<head runat="server">
<title></title>
<script src="Scripts/jquery-3.1.1.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="RejectionReasons" runat="server"></asp:DropDownList>
<label id="lblRequired" style="color: red; float: left; text-align: left !important"></label>
<asp:Button ID="btnAction" runat="server" CssClass="button" OnClick="ActionPopUp_Click" CausesValidation="True" Text="" ValidationGroup="SaveRR" OnClientClick="return isRejectReasonSelected();" />
<asp:HiddenField runat="server" ID="hdn_SelectedReasonText" />
<asp:HiddenField runat="server" ID="hdn_SelectedReasonID" />
</div>
</form>
<script>
function isRejectReasonSelected()
{
$('#lblRequired').text('');
var isAnyItemSelected = false;
$('#<%=RejectionReasons.ClientID%> :selected').each(function(i, selected){
isAnyItemSelected = true;
});
if(isAnyItemSelected){
var values = "";
var text = "";
var selected = $("[id*=RejectionReasons] option:selected");
selected.each(function () {
values += $(this).val() + "," ;
text += $(this).html() + ";" ;
});
$('#<%=hdn_SelectedReasonText.ClientID%>').val(text);
$('#<%=hdn_SelectedReasonID.ClientID%>').val(values);
return isAnyItemSelected;
}
else
{
$('#lblRequired').text('Please select reason');
return isAnyItemSelected;
}
}
$(document).ready(function () {
var l_id =$("input[id*='hdn_parm']").val(); // I need to pass this on server side
var url = 'Details.aspx/DropDownBinding'
$.ajax({
url: url,
type: 'POST',
data: JSON.stringify({
l_id: l_id
}),
contentType: 'application/json; charset=utf-8',
dataType: "json",
success: function (response) {
$.each(response.d, function (i, val) { //bind data
$("[id*=RejectionReasons]").append('<option value="' + val[1] + '">' + val[0] + '</option>');
},
error: function (request, status, error) {
}
});
});
</script>
</body>
Add this code on server side:
using System.Web.Services;
[WebMethod(EnableSession = true)]
public static List<string[]> DropDownBinding(string l_id)
{
Customer obj = new Customer();
DataSet ds;
ds = obj.getdata(l_id); // get data from database
DataTable dt = ds.Tables(0);
List<string[]> list = new List<string[]>();
foreach (DataRow r in dt.Rows)
{
string[] a = new string;
a[0] = r(0).ToString();
a[1] = r(1).ToString();
list.Add(a);
}
return list;
}