Can I keep the JSON object by serializing from code behind into the values of dropdo开发者_如何学Gown list?
The value of a standard propety of a DOM element can be anything that meets the requirements of the related HTML attribute. The option element's value attribute must meet the requirements for cdata.
here is the code i hope that it solve ur problem. this is webservice .asmx extension type.
public class WebService1 : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod( ResponseFormat = ResponseFormat.Json)]
public List<Employee> SayHellowJson( string name )
{
//string result = string.Format( " {1} : {0} ",name,DateTime.Now );
Employee emp = new Employee{ Name= name , Designation = "Senior Software Engineer" };
List<Employee> employees = new List<Employee>();
employees.Add(emp);
employees.Add(new Employee { Name = "first", Designation = "designation" });
employees.Add ( new Employee { Name="second", Designation="Designation2" } );
employees.Add(new Employee {Name="thired" , Designation="Deisgnation4" });
//JavaScriptSerializer serializer = new JavaScriptSerializer();
//return serializer.Serialize(emp);
return employees;
}
}
[Serializable]
public class Employee
{
public string Name { get; set; }
public string Designation { get; set; }
}
}
there is the jquery / and html code for that... i bind the json call to input keyup event means dropdown fill when u press key in texbox. here is the code <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JsonCall.aspx.cs" Inherits="WebApplication1.JsonCall" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript">
$(function(){
$('#txtname').keyup(function( evt )
{
$.ajax({
url: "/WebService1.asmx/SayHellowJson",
type: "POST",
dataType:"json",
data:"{name:'"+Name+"'}",
contentType : "application/json; charset=utf-8",
success: function(msg){
for (var i = 0 ; i < msg['d'].length ; i ++ ){
$('#myselect').append('<option value="'+msg['d'][i].Name+'">'+msg['d'][i].Name+'</option>');
}
},
error : function(e){
alert ( "error " );
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<p>
JSON format call</p>
Enter Name :
<input type="text" id="txtname" />
<input type="button" value="GO" id="btnGO" />
<br />
<p id='result'>
</p>
</div>
</form>
<select id="myselect" name="D1">
<option></option>
</select>
</body>
</html>
精彩评论